Results 1 to 2 of 2

Thread: Showing a Layer at the position of a SPAN ID

  1. #1
    Join Date
    Jan 2009
    Posts
    82
    Thanks
    5
    Thanked 0 Times in 0 Posts

    Default Showing a Layer at the position of a SPAN ID

    I have the javascript below which toggles a LAYER on my page to show and hide.

    I need to revise it to do 2 things:

    1. don't hide it anymore upon toggle. Only show and keep showing whenever running.
    2. Have the Layer pop up or display INLINE exactly where the user clicks the span id that triggers the javascript as opposed to wherever the layer resides on the page. I can't move the layer to where the link is.


    <script type="text/javascript">
    <!--
    function toggleLayeraddwordcomment( whichLayer, wordnumber, sbid )
    {
    var elem, vis;
    if( document.getElementById ) // this is the way the standards work
    elem = document.getElementById( whichLayer );
    else if( document.all ) // this is the way old msie versions work
    elem = document.all[whichLayer];
    else if( document.layers ) // this is the way nn4 works
    elem = document.layers[whichLayer];
    vis = elem.style;
    document.getElementById('txtwordnumber').value = wordnumber
    // if the style.display value is blank we try to figure it out here
    if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
    vis.display = (vis.display==''||vis.display=='block')?'none':'block';
    }
    //-->
    </script>


    <span id="spanid" ondblclick=toggleLayer('addcomment,'1','2');"></span>



    <div id="addcomment" style="display:none;padding:10px 10px 10px 10px;background-color:#CCCCCC;"><input name="txtwordnumber" type="text" id="txtwordnumber" value="" size="1" disabled/><input name="wordcommentinput" type="text" size="50" maxlength="250" />
    </div>

  2. #2
    Join Date
    Jan 2009
    Posts
    82
    Thanks
    5
    Thanked 0 Times in 0 Posts

    Default

    UPDATE: CHANGE TO JAVASCRIPT

    I'm now using this Javascript to show a layer.

    All I'm trying to do now is have it show the layer wherever the cursor is as opposed to where the layer is actually located.



    <script language="javascript">
    <!--
    var state = 'none';

    function showaddwordcomment(layer_ref,wordnumber,sbid) {
    document.getElementById('txtwordnumber' + sbid).value = wordnumber;
    if (state == 'none') {
    state = 'block';
    }
    else {
    state = 'block';
    }
    if (document.all) { //IS IE 4 or 5 (or 6 beta)
    eval( "document.all." + layer_ref + ".style.display = state");
    }
    if (document.layers) { //IS NETSCAPE 4 or below
    document.layers[layer_ref].display = state;
    }
    if (document.getElementById &&!document.all) {
    hza = document.getElementById(layer_ref);
    hza.style.display = state;
    }
    }

    //-->
    </script>

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
  •