Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Gestire lato client script java

    Salve, vi posto 2 script, entrambi funzionanti.
    Programmo in asp.net, vb net lato server.


    Il primo mi fa comparire 2 immagini nella pagina aspx.
    Quello che vorrei fare è rendere questo script visibile solo in una pagina. Come fare?




    <script type="text/javascript" language="JavaScript1.2">
    var variableslide=new Array()


    //variableslide[x]=["path to image", "OPTIONAL link for image", "OPTIONAL text description (supports HTML tags)"]


    variableslide[0]=['Img/Sfondi/Home/macchina.png', '', '']
    variableslide[1]=['Img/Sfondi/Home/images.png', 'http://www.space.com', '']

    //configure the below 3 variables to set the dimension/background color of the slideshow


    //configure the below variable to determine the delay between image rotations (in miliseconds)
    var slidedelay=5000


    ////Do not edit pass this line////////////////


    var ie=document.all
    var dom=document.getElementById


    for (i=0;i<variableslide.length;i++){
    var cacheimage=new Image()
    cacheimage.src=variableslide[i][0]
    }


    var currentslide=0


    function rotateimages(){
    contentcontainer='<center>'
    if (variableslide[currentslide][1]!="")
    contentcontainer+='<a href="'+variableslide[currentslide][1]+'">'
    contentcontainer+='<img src="'+variableslide[currentslide][0]+'" border="0" vspace="3">'
    if (variableslide[currentslide][1]!="")
    contentcontainer+='</a>'
    contentcontainer+='</center>'
    if (variableslide[currentslide][2]!="")
    contentcontainer+=variableslide[currentslide][2]


    if (document.layers){
    crossrotateobj.document.write(contentcontainer)
    crossrotateobj.document.close()
    }
    else if (ie||dom)
    crossrotateobj.innerHTML=contentcontainer
    if (currentslide==variableslide.length-1) currentslide=0
    else currentslide++
    setTimeout("rotateimages()",slidedelay)
    }


    if (ie||dom)
    document.write('<div id="slidedom" style="position:absolute; top:230px; right:50px; width:250px; height:140px; display:none;"></div>')


    function start_slider(){
    crossrotateobj=dom? document.getElementById("slidedom") : ie? document.all.slidedom : document.slidensmain.document.slidenssub
    if (document.layers)
    document.slidensmain.visibility="show"
    rotateimages()
    }


    if (ie||dom)
    start_slider()
    else if (document.layers)
    window.onload=start_slider
    </script>






    ------------------------------------------------------------------------------------------------------------------------------------






    Il secondo mi permette di rendere un menù a tendina non sensibile all'hover, ma al click. Vorrei però attivare questo script solo per i mobile. Come fare?


    <script type="text/javascript">
    <%= Menu_Admin.ClientID %>.addEventListener("click", clickMenu, true);
    function clickMenu(e) {


    if(e.target.parentNode.className.indexOf("has-popup")>-1){


    //sto cliccando un elemento che possiede un sottomenu, perciò fermo la propagazione del click
    if (!e) var e = window.event;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    if (e.preventDefault) e.preventDefault();


    //inoltre faccio apparire il sottomenu
    Sys.WebForms.Menu._elementObjectMapper.getMappedOb ject(e.target.parentNode).mouseover();
    }


    }
    //gestisco il mouseover e ne arresto la propagazione
    <%= Menu_Admin.ClientID %>.addEventListener("mouseover", hoverMenu, true);
    function hoverMenu(e) {


    if(e.target.parentNode.className.indexOf("has-popup")>-1){


    if (!e) var e = window.event;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    if (e.preventDefault) e.preventDefault();
    }
    }


    </script>

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    per favore, racchiudi il codice nei tag CODE altrimenti non si capisce la differenza con le descrizioni ...

  3. #3
    Salve, vi posto 2 script, entrambi funzionanti.
    Programmo in asp.net, vb net lato server.

    Il primo mi fa comparire 2 immagini nella pagina aspx.
    Quello che vorrei fare è rendere questo script visibile solo in una pagina. Come fare?


    codice:
    <script type="text/javascript" language="JavaScript1.2">
    var variableslide=new Array()
    
    
    //variableslide[x]=["path to image", "OPTIONAL link for image", "OPTIONAL text description (supports HTML tags)"]
    
    
    variableslide[0]=['Img/Sfondi/Home/macchina.png', '', '']
    variableslide[1]=['Img/Sfondi/Home/images.png', 'http://www.space.com', '']
    
    //configure the below 3 variables to set the dimension/background color of the slideshow
    
    
    //configure the below variable to determine the delay between image rotations (in miliseconds)
    var slidedelay=5000
    
    
    ////Do not edit pass this line////////////////
    
    
    var ie=document.all
    var dom=document.getElementById
    
    
    for (i=0;i<variableslide.length;i++){
    var cacheimage=new Image()
    cacheimage.src=variableslide[i][0]
    }
    
    
    var currentslide=0
    
    
    function rotateimages(){
    contentcontainer='<center>'
    if (variableslide[currentslide][1]!="")
    contentcontainer+='<a href="'+variableslide[currentslide][1]+'">'
    contentcontainer+='<img src="'+variableslide[currentslide][0]+'" border="0" vspace="3">'
    if (variableslide[currentslide][1]!="")
    contentcontainer+='</a>'
    contentcontainer+='</center>'
    if (variableslide[currentslide][2]!="")
    contentcontainer+=variableslide[currentslide][2]
    
    
    if (document.layers){
    crossrotateobj.document.write(contentcontainer)
    crossrotateobj.document.close()
    }
    else if (ie||dom)
    crossrotateobj.innerHTML=contentcontainer
    if (currentslide==variableslide.length-1) currentslide=0
    else currentslide++
    setTimeout("rotateimages()",slidedelay)
    }
    
    
    if (ie||dom)
    document.write('<div id="slidedom" style="position:absolute; top:230px; right:50px; width:250px; height:140px; display:none;"></div>')
    
    
    function start_slider(){
    crossrotateobj=dom? document.getElementById("slidedom") : ie? document.all.slidedom : document.slidensmain.document.slidenssub
    if (document.layers)
    document.slidensmain.visibility="show"
    rotateimages()
    }
    
    
    if (ie||dom)
    start_slider()
    else if (document.layers)
    window.onload=start_slider
    </script>

    Il secondo mi permette di rendere un menù a tendina non sensibile all'hover, ma al click. Vorrei però attivare questo script solo per i mobile. Come fare?

    codice:
    <script type="text/javascript">
    <%= Menu_Admin.ClientID %>.addEventListener("click", clickMenu, true);
    function clickMenu(e) {
    
    
    if(e.target.parentNode.className.indexOf("has-popup")>-1){
    
    
    //sto cliccando un elemento che possiede un sottomenu, perciò fermo la propagazione del click
    if (!e) var e = window.event;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    if (e.preventDefault) e.preventDefault();
    
    
    //inoltre faccio apparire il sottomenu
    Sys.WebForms.Menu._elementObjectMapper.getMappedOb ject(e.target.parentNode).mouseover();
    }
    
    
    }
    //gestisco il mouseover e ne arresto la propagazione
    <%= Menu_Admin.ClientID %>.addEventListener("mouseover", hoverMenu, true);
    function hoverMenu(e) {
    
    
    if(e.target.parentNode.className.indexOf("has-popup")>-1){
    
    
    if (!e) var e = window.event;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    if (e.preventDefault) e.preventDefault();
    }
    }
    
    
    </script>
    Ultima modifica di djciko; 08-09-2014 a 10:53

  4. #4

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.