Maison >interface Web >tutoriel HTML >Méthodes d'analyse et de traitement des barres de défilement existantes en html et flash embarquées dans la production de pages it_HTML/Xhtml_Web

Méthodes d'analyse et de traitement des barres de défilement existantes en html et flash embarquées dans la production de pages it_HTML/Xhtml_Web

WBOY
WBOYoriginal
2016-05-16 16:40:341263parcourir

Nous rencontrons souvent cette situation lors du développement :
a.swf est ajouté à la page Web, les pages a.swf et html ont des barres de défilement en même temps, et le chef de projet a soulevé une exigence BT --- processus a. la souris swf défile, la page html ne défile pas.
Que faut-il faire
Méthode 1 :
1. .swf pour la zone de défilement : dites à JS de supprimer le moniteur de défilement de la souris du navigateur
2. Lorsque la souris sort de la zone de défilement a.swf : dites à JS d'ajouter le moniteur de défilement de la souris du navigateur. wmode de a.swf est défini sur "window".
Résumé : définir wmode sur "window" peut ne pas répondre aux exigences du projet, ce qui oblige a.swf à bloquer toute page html en dessous, appuyez sur Alt Tab après le déplacement ; la souris dans la zone de défilement a.swf Lors du changement de page, JS n'est pas averti pour ajouter une surveillance du défilement de la souris du navigateur, il n'y a donc pas de traitement de défilement lors du retour à la page html après l'opération


Méthode 2 : 1.a.swf annule son propre événement d'écoute de défilement de la souris et ajoute une interface de traitement de défilement que JS peut appeler, telle que wheelToFlash(value). a.swf zone de défilement : informez JS, par exemple, mouseIsInFlashWheelRange=true
3 . Lorsque la souris sort de la zone de défilement a.swf : informez JS, par exemple, mouseIsInFlashWheelRange=false 
4.JS; écoute les événements de défilement de la souris. Dans la fonction de traitement d'écoute des événements, nous devons faire les jugements suivants
Code Javascript :



Copier le codeLe code est le suivant :
if(mouseIsInFlashWheelRange==true)
{
/**Appelez l'interface fournie par a.swf pour que a.swf simule le défilement*/
/**"flash" est l'ID d'un fichier.swf intégré au code HTML et la valeur est la valeur du défilement de la table de défilement HTML.*/
document.getElementById("flashID").wheelToFlash(value);
/**Empêchez le bouillonnement des événements de souris sur la page HTML, généralement event.preventDefault()*/
event.preventDefault();
}
else
{
/**Pour gérer le défilement normal du HTML, nous n’avons rien à faire*/
}


Résumé
 : Par rapport à la méthode 1, il n'y a aucune limitation de wmode="window" ; le problème de Alt Tab existe toujours. Remarque
 : Lors de l'écriture du code JS, nous devons faire attention aux problèmes de compatibilité. Différents navigateurs surveillent les événements de la souris et obtiennent les valeurs de défilement différemment !
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn