Vrydag 26 Augustus 2011

Announcements Widget For Blogger Blogs


Update: We just released two updated and automatic headline news widgets:



1. Breaking News Ticker Widget For Blogger

2. Headlines News Widget With Tool-tips!



announcement widgetAgain 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,


Live Demo


Add Scrolling Headline Widget to your Blogs



  1. Go To Blogger > Design

  2. Choose HTML/JavaScript Widget

  3. Paste the following code inside it,



<style type="text/css">

/*Example CSS for the two demo scrollers*/

#pscroller2{

background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghhdOvUdO2hKBpjx0yHhRKIIOG45bEVnDfLagkpfHMHHaehwW6XMP1PZoydjMawLVDWid_bah1MKTfpQ4d6Y3w7vdLefpuGfqMaRMTpOekPf-xSDD1wXb2WGbYYeiRqAPKGZPTa9VDb5Y/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



https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghhdOvUdO2hKBpjx0yHhRKIIOG45bEVnDfLagkpfHMHHaehwW6XMP1PZoydjMawLVDWid_bah1MKTfpQ4d6Y3w7vdLefpuGfqMaRMTpOekPf-xSDD1wXb2WGbYYeiRqAPKGZPTa9VDb5Y/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. :)

0 opmerkings

Plaas 'n opmerking