Today, I will like to produce another tutorial for Bloggers out there on How to add an announcement widget to your blogger blog; this announcement widget can be used for several purposes ranging from making an announcement on your blog, putting up a blog update notice, showing links to your featured posts etc.
The Widget has scrolling headlines which start scrolling immediately your blog loads and
The Widget has scrolling headlines which start scrolling immediately your blog loads and
it stops scrolling the moment you point your mouse on the links in the widget so that you can easily read the headlines.You can see the widget and how it works here…
Wow!!! I like this Widget, How will I add it to my Blog?
1. Login to Blogger > click on Layout.
2. And then click on Add a Gadget (wherever you want the widget to be) then scroll down and click on HTML/JavaScript Widget. 3. Now a new empty box opens, Paste the following codes into the box -
<style type="text/css">
/*Example CSS for the two demo scrollers*/
#pscroller2{
background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6xkalIc0xOqFjWMMOzD4cvPmaXQwodfad7Z-QpckcWbcQyzjXiTs9IY7L4xK7ZWlpgmFT4E34oJU68E-Lnw-gSo4z2XotNSKM2QkjEU89GnMjZuI1-__Dizi-Q_eQ_J5nraT7VvM7eoI/s400/updates1.gif) no-repeat top left;
width: 450px;
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="www.stevenbergy.com.ng">StevenBergy.Com.Ng</a>'
pausecontent2[1]='<a href="www.stevenbergy.com.ng">StevenBergy.Com.Ng</a>'
pausecontent2[2]='<a href="www.stevenbergy.com.ng">StevenBergy.Com.Ng</a>'
pausecontent2[3]='<a href="www.stevenbergy.com.ng">StevenBergy.Com.Ng</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)
Wow!!! I like this Widget, How will I add it to my Blog?
1. Login to Blogger > click on Layout.
2. And then click on Add a Gadget (wherever you want the widget to be) then scroll down and click on HTML/JavaScript Widget. 3. Now a new empty box opens, Paste the following codes into the box -
<style type="text/css">
/*Example CSS for the two demo scrollers*/
#pscroller2{
background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6xkalIc0xOqFjWMMOzD4cvPmaXQwodfad7Z-QpckcWbcQyzjXiTs9IY7L4xK7ZWlpgmFT4E34oJU68E-Lnw-gSo4z2XotNSKM2QkjEU89GnMjZuI1-__Dizi-Q_eQ_J5nraT7VvM7eoI/s400/updates1.gif) no-repeat top left;
width: 450px;
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="www.stevenbergy.com.ng">StevenBergy.Com.Ng</a>'
pausecontent2[1]='<a href="www.stevenbergy.com.ng">StevenBergy.Com.Ng</a>'
pausecontent2[2]='<a href="www.stevenbergy.com.ng">StevenBergy.Com.Ng</a>'
pausecontent2[3]='<a href="www.stevenbergy.com.ng">StevenBergy.Com.Ng</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", 500)
</script>
</script>
- To change the Loudspeaker image, replace https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6xkalIc0xOqFjWMMOzD4cvPmaXQwodfad7Z-QpckcWbcQyzjXiTs9IY7L4xK7ZWlpgmFT4E34oJU68E-Lnw-gSo4z2XotNSKM2QkjEU89GnMjZuI1-__Dizi-Q_eQ_J5nraT7VvM7eoI/s400/updates1.gif with your preferred image’s URL.
- If you want to increase or decrease the scroller width size, then adjust this 450px.
- Replace StevenBergy.Com.Ng with anything you wish to write as the announcement or blog update.
- Replace www.stevenbergy.com.ng with the announcement link or URL. On clicking this link, the visitors will be taken to the announcement page. But if you don't want to link your announcement to any URL then simply delete www.stevenbergy.com.ng next to each StevenBergy.Com.Ng that you don't wish to add a link to.
- To change the speed at which the announcement changes, adjust 500 and note that the more you increase this value the slower the links will scroll and vice versa.
What do you think about this Widget? Do you have any problem while adding it to your Blog? Feel free to use the comment box provided below in case you have any question, suggestion, contribution or opinion about it and don't forget to share this interesting post with your friends.
Hope This Helps!!!
No comments:
Post a Comment
Drop Your Contributions, Opinions and Suggestions Here !
Want to be notified when I reply your comment ? Then tick the "Notify Me" box.
Cheers !!!