Results 1 to 6 of 6

Thread: Sticky Note Script as link mouseover

  1. #1
    Join Date
    Jun 2009
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Post Sticky Note Script as link mouseover

    1) Script Title: Sticky Note Script

    2) Script URL (on DD): http://www.dynamicdrive.com/dynamici...stickynote.htm

    3) Describe problem: Just wondering if it is possible to modify this script to pop up either as a mouseover on a link or by clicking a link instead of by page load.

    Any tips on how to do this would be appreciated

  2. #2
    Join Date
    Aug 2004
    Posts
    10,143
    Thanks
    3
    Thanked 1,008 Times in 993 Posts
    Blog Entries
    16

    Default

    Try replacing the original script that goes in the HEAD section (code of Step 1) with the below instead:

    Code:
    <style type="text/css">
    
    #fadeinbox{
    position:absolute;
    width: 300px;
    left: 0;
    top: -400px;
    border: 2px solid black;
    background-color: lightyellow;
    padding: 4px;
    z-index: 100;
    visibility:hidden;
    }
    
    </style>
    
    
    <script type="text/javascript">
    
    /***********************************************
    * Sticky Note script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
    * Visit DynamicDrive.com for hundreds of DHTML scripts
    * This notice must stay intact for legal use
    * Go to http://www.dynamicdrive.com/ for full source code
    ***********************************************/
    
    //Specify display mode. 3 possible values are:
    //1) "always"- This makes the fade-in box load each time the page is displayed
    //2) "oncepersession"- This uses cookies to display the fade-in box only once per browser session
    //3) integer (ie: 5)- Finally, you can specify an integer to display the box randomly via a frequency of 1/integer...
    // For example, 2 would display the box about (1/2) 50% of the time the page loads.
    
    var displaymode="always"
    
    var enablefade="yes" //("yes" to enable fade in effect, "no" to disable)
    var autohidebox=["yes", 5] //Automatically hide box after x seconds? [yes/no, if_yes_hide_after_seconds]
    var showonscroll="yes" //Should box remain visible even when user scrolls page? ("yes"/"no)
    var IEfadelength=1 //fade in duration for IE, in seconds
    var Mozfadedegree=0.05 //fade in degree for NS6+ (number between 0 and 1. Recommended max: 0.2)
    
    ////////No need to edit beyond here///////////
    
    if (parseInt(displaymode)!=NaN)
    var random_num=Math.floor(Math.random()*displaymode)
    
    function displayfadeinbox(){
    var ie=document.all && !window.opera
    var dom=document.getElementById
    iebody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body
    objref=(dom)? document.getElementById("fadeinbox") : document.all.fadeinbox
    var scroll_top=(ie)? iebody.scrollTop : window.pageYOffset
    var docwidth=(ie)? iebody.clientWidth : window.innerWidth
    docheight=(ie)? iebody.clientHeight: window.innerHeight
    var objwidth=objref.offsetWidth
    objheight=objref.offsetHeight
    objref.style.left=docwidth/2-objwidth/2+"px"
    objref.style.top=scroll_top+docheight/2-objheight/2+"px"
    
    if (showonscroll=="yes")
    showonscrollvar=setInterval("staticfadebox()", 50)
    
    if (enablefade=="yes" && objref.filters){
    objref.filters[0].duration=IEfadelength
    objref.filters[0].Apply()
    objref.filters[0].Play()
    }
    objref.style.visibility="visible"
    if (objref.style.MozOpacity){
    if (enablefade=="yes")
    mozfadevar=setInterval("mozfadefx()", 90)
    else{
    objref.style.MozOpacity=1
    controlledhidebox()
    }
    }
    else
    controlledhidebox()
    }
    
    function mozfadefx(){
    if (parseFloat(objref.style.MozOpacity)<1)
    objref.style.MozOpacity=parseFloat(objref.style.MozOpacity)+Mozfadedegree
    else{
    clearInterval(mozfadevar)
    controlledhidebox()
    }
    }
    
    function staticfadebox(){
    var ie=document.all && !window.opera
    var scroll_top=(ie)? iebody.scrollTop : window.pageYOffset
    objref.style.top=scroll_top+docheight/2-objheight/2+"px"
    }
    
    function hidefadebox(){
    objref.style.visibility="hidden"
    if (objref.style.MozOpacity)
    	objref.style.MozOpacity=0
    if (typeof showonscrollvar!="undefined")
    clearInterval(showonscrollvar)
    }
    
    function controlledhidebox(){
    if (autohidebox[0]=="yes"){
    var delayvar=(enablefade=="yes" && objref.filters)? (autohidebox[1]+objref.filters[0].duration)*1000 : autohidebox[1]*1000
    setTimeout("hidefadebox()", delayvar)
    }
    }
    
    function initfunction(){
    setTimeout("displayfadeinbox()", 100)
    }
    
    function get_cookie(Name) {
    var search = Name + "="
    var returnvalue = ""
    if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    if (offset != -1) {
    offset += search.length
    end = document.cookie.indexOf(";", offset)
    if (end == -1)
    end = document.cookie.length;
    returnvalue=unescape(document.cookie.substring(offset, end))
    }
    }
    return returnvalue;
    }
    
    
    </script>
    It modifies things so the Sticky Note is launched only via the click of a link, for example:

    Code:
    <DIV id="fadeinbox" style="filter:progid:DXImageTransform.Microsoft.RandomDissolve(duration=1) progid:DXImageTransform.Microsoft.Shadow(color=gray,direction=135) ; -moz-opacity:0">
    
    INSERT ANY HTML TO DISPLAY HERE. DO NOT REMOVE OUTER MOST DIV.<br>
    Script © <a href="http://www.dynamicdrive.com">Dynamic Drive</a><br>
    
    <div align="right"> <a href="#" onClick="hidefadebox();return false">Hide Box</a>
    </div>
    </DIV>
    
    <a href="javascript:initfunction()">Load Note</a>
    DD Admin

  3. #3
    Join Date
    Jun 2009
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Sticky Note Script as link mouseover

    Thanks for that - exactly what I needed

  4. #4
    Join Date
    Mar 2008
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Hello,

    This script worked great and I've added it to a transparent map image but I was curious to how to have multiple sticky notes?

    So they can click a separate map and a separate sticky appears.

  5. #5
    Join Date
    Jun 2009
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    I also noticed that if I have multiple links on a page it calls up the same note every time no matter which one is clicked. Can each link be given a seperate initfunction value or is there another way?

  6. #6
    Join Date
    Aug 2004
    Posts
    10,143
    Thanks
    3
    Thanked 1,008 Times in 993 Posts
    Blog Entries
    16

    Default

    Hmm there's currently no easy way to have multiple Sticky Notes all on the same page unfortunately. A script that may more closely fit what you need is Link Floatie script, namely, the 2nd demo.
    DD Admin

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •