Again yet another MBT release of a useful blogger widget with scrolling headline links. The moment you hover the cursor on the links the scrolling stops and pauses and you can then read the headlines. These headlines can be a blog update notice, announcement or links to your featured posts. You can use it in million of ways. I found the script on dynamic drive and edited the code with some more colours and images to make it completely compatible with blogger blogs. It is several steps ahead of marquee effect because this widget uses some JavaScript to bring the dynamic effect. Again it is a one-step installation process. Please see the demo first,
Add Scrolling Headline Widget to your Blogs
- Go To Blogger > Design
- Choose HTML/JavaScript Widget
- Paste the following code inside it,
<style type="text/css">
/*Example CSS for the two demo scrollers*/
#pscroller2{
background:url(http://4.bp.blogspot.com/-7ZFQXCvcnjQ/TlfjPMxiBJI/AAAAAAAAEzM/jrV-qvI_xqM/s400/updates1.gif) no-repeat top left;
width: 430px;
height: 20px;
border: 1px solid #ddd;
padding: 3px 3px 3px 40px;
margin:10px 0;
}#pscroller2 a{
text-decoration: none;
color:#0080ff;
}#pscroller2 a:hover{
text-decoration: underline;
}.someclass{
}</style>
<script type="text/javascript">
/*Example message arrays for the two demo scrollers*/
var pausecontent2=new Array()
pausecontent2[0]='<a href="#">HEADLINE TEXT</a>'
pausecontent2[1]='<a href="#">HEADLINE TEXT</a>'
pausecontent2[2]='<a href="#">HEADLINE TEXT</a>'
pausecontent2[3]='<a href="#">HEADLINE TEXT</a>'</script>
<script type="text/javascript">
function pausescroller(content, divId, divClass, delay){
this.content=content //message array content
this.tickerid=divId //ID of ticker div to display information
this.delay=delay //Delay between msg change, in miliseconds.
this.mouseoverBol=0 //Boolean to indicate whether mouse is currently over scroller (and pause it if it is)
this.hiddendivpointer=1 //index of message array for hidden div
document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden"><div class="innerDiv" style="position: absolute; width: 100%" id="'+divId+'1">'+content[0]+'</div><div class="innerDiv" style="position: absolute; width: 100%; visibility: hidden" id="'+divId+'2">'+content[1]+'</div></div>')
var scrollerinstance=this
if (window.addEventListener) //run onload in DOM2 browsers
window.addEventListener("load", function(){scrollerinstance.initialize()}, false)
else if (window.attachEvent) //run onload in IE5.5+
window.attachEvent("onload", function(){scrollerinstance.initialize()})
else if (document.getElementById) //if legacy DOM browsers, just start scroller after 0.5 sec
setTimeout(function(){scrollerinstance.initialize()}, 500)
}// -------------------------------------------------------------------
// initialize()- Initialize scroller method.
// -Get div objects, set initial positions, start up down animation
// -------------------------------------------------------------------pausescroller.prototype.initialize=function(){
this.tickerdiv=document.getElementById(this.tickerid)
this.visiblediv=document.getElementById(this.tickerid+"1")
this.hiddendiv=document.getElementById(this.tickerid+"2")
this.visibledivtop=parseInt(pausescroller.getCSSpadding(this.tickerdiv))
//set width of inner DIVs to outer DIV's width minus padding (padding assumed to be top padding x 2)
this.visiblediv.style.width=this.hiddendiv.style.width=this.tickerdiv.offsetWidth-(this.visibledivtop*2)+"px"
this.getinline(this.visiblediv, this.hiddendiv)
this.hiddendiv.style.visibility="visible"
var scrollerinstance=this
document.getElementById(this.tickerid).onmouseover=function(){scrollerinstance.mouseoverBol=1}
document.getElementById(this.tickerid).onmouseout=function(){scrollerinstance.mouseoverBol=0}
if (window.attachEvent) //Clean up loose references in IE
window.attachEvent("onunload", function(){scrollerinstance.tickerdiv.onmouseover=scrollerinstance.tickerdiv.onmouseout=null})
setTimeout(function(){scrollerinstance.animateup()}, this.delay)
}
// -------------------------------------------------------------------
// animateup()- Move the two inner divs of the scroller up and in sync
// -------------------------------------------------------------------pausescroller.prototype.animateup=function(){
var scrollerinstance=this
if (parseInt(this.hiddendiv.style.top)>(this.visibledivtop+5)){
this.visiblediv.style.top=parseInt(this.visiblediv.style.top)-5+"px"
this.hiddendiv.style.top=parseInt(this.hiddendiv.style.top)-5+"px"
setTimeout(function(){scrollerinstance.animateup()}, 50)
}
else{
this.getinline(this.hiddendiv, this.visiblediv)
this.swapdivs()
setTimeout(function(){scrollerinstance.setmessage()}, this.delay)
}
}// -------------------------------------------------------------------
// swapdivs()- Swap between which is the visible and which is the hidden div
// -------------------------------------------------------------------pausescroller.prototype.swapdivs=function(){
var tempcontainer=this.visiblediv
this.visiblediv=this.hiddendiv
this.hiddendiv=tempcontainer
}pausescroller.prototype.getinline=function(div1, div2){
div1.style.top=this.visibledivtop+"px"
div2.style.top=Math.max(div1.parentNode.offsetHeight, div1.offsetHeight)+"px"
}// -------------------------------------------------------------------
// setmessage()- Populate the hidden div with the next message before it's visible
// -------------------------------------------------------------------pausescroller.prototype.setmessage=function(){
var scrollerinstance=this
if (this.mouseoverBol==1) //if mouse is currently over scoller, do nothing (pause it)
setTimeout(function(){scrollerinstance.setmessage()}, 100)
else{
var i=this.hiddendivpointer
var ceiling=this.content.length
this.hiddendivpointer=(i+1>ceiling-1)? 0 : i+1
this.hiddendiv.innerHTML=this.content[this.hiddendivpointer]
this.animateup()
}
}pausescroller.getCSSpadding=function(tickerobj){ //get CSS padding value, if any
if (tickerobj.currentStyle)
return tickerobj.currentStyle["paddingTop"]
else if (window.getComputedStyle) //if DOM2
return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top")
else
return 0
}</script>
<script type="text/javascript">//new pausescroller(name_of_message_array, CSS_ID, CSS_classname, pause_in_miliseconds)
new pausescroller(pausecontent2, "pscroller2", "someclass", 1000)</script>
Make these customizations:
- To change the Loud speaker image change
http://4.bp.blogspot.com/-7ZFQXCvcnjQ/TlfjPMxiBJI/AAAAAAAAEzM/jrV-qvI_xqM/s400/updates1.gif
- If you wish to increase the scroller width size then edit this width: 430px;
- Replace 0080ff with your link colour.
- Replace HEADLINE TEXT with anything you wish to write as announcement or updates. Write any text description you want.
- Replace # with headline page link/url. On clicking this link the visitors will be taken to the headline related page. If you don't want to link your Headlines then simply delete # next to each HEADLINE TEXT that you don't wish to hyperlink.
- To change the scroll change delay time kindly edit 1000 . The more your decrease this value the faster will the links scroll up and down.
4. Finally save your widget and you are all set!
Visit your blogs to see it scrolling beautifully.
How do you find this new widget?
Please let me know whether you liked this new widget or not. Also feel free to ask any related question. Would be a pleasure to help you out. Peace buddies.
The only favour I need is to kindly like it and +1'd it. :)
Filed Under: Blogger Widgets and plugins
If you don't want to get yourself into Serious Technical Trouble while editing your Blog Template then just sit back and relax and let us do the Job for you at a fairly reasonable cost. Submit your order details by Clicking Here »









23 comments:
great sharing!!
I Like this widget. Thanks for this :)
Useful widget to Bloggers! :)
i respect for your effort and works!
Hari
Can we use this tip for Random posts? If yes, please guide me the way to use, thanks!
This is an amazing widget, Mohammad. For some time, I have been using a horizontal scroll widget, which doesn't look as professional. Your work here is invaluable to the blogger, and I thank you!
This is my first time commenting on your wonderful site. Keep up the good work my friend :)
How to change the size of the text??
Thank you buddies. Feels great that you liked it. :>
@Lee pace
I have not tried it as yet but anything is possible wehn you code it. Kindly give me sometime to see if we can add that feature to this.
@Alwyn
You are welcomed here buddy. An honor to have you. :)
@aditya
To change font size add font-size:12px; to the CSS class like this,
#pscroller2{
background:url(http://4.bp.blogspot.com/-7ZFQXCvcnjQ/TlfjPMxiBJI/AAAAAAAAEzM/jrV-qvI_xqM/s400/updates1.gif) no-repeat top left;
width: 430px;
height: 20px;
border: 1px solid #ddd;
padding: 3px 3px 3px 40px;
margin:10px 0;
font-size:12px;
}
I have another question: Can you make threaded comments in Blogger?
:( It isn't showing up on my blog! Can you help?
Cool widget!
It's working just fine at my site.
How to Bold the text "HEADLINE TEXT"?
THANK YOU for your widget.
great, but i want to change center settings to left side, please help me accordingly....
have a look.......
http://sntpp.blogspot.com/
thanks in anticipation
Cool Widget! Thanks for sharing :D
http://lyricscollectionfree.com
its cool, the long code, there are so many alternate methods to add widgets. good blog. fl detox
@Mohammad Mustafa Ahmedzai
apply font-weight:bold; underneath margin:10px 0; (located near the bottom of the first section of code).
nice lists there mister. helped me a lot.
now you got another 1 follower. :)
nice
can we add this widget below post title??
sir is there any better widget then this one cause it does not match my site
Regards
www.bbxindia.com
SUPER COOOOL, can i make the link open in another window :) + i don't know what color will match my blog http://ycfonlinedirectory.blogspot.com pls look @ it :D
Please How can i add more Headline text or it is limited to 4 only :)
Thank you
very nine and really need it :)
Click Here To add Comment
Your feedback is always appreciated. We will try to reply to your queries as soon as time allows.
Note:
1. To add HTML CODE in comments then please use our HTML Encoder
2. You can always Test the tutorial on our HTML Editor
3. No cheesy/spam Comments tolerated Spam comments will be deleted immediately upon our review.
Regards,
Mohammad