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>