【发布时间】:2014-04-08 19:44:58
【问题描述】:
您能否在大屏幕的谷歌浏览器上看一下这个主页(问题出现在 1870px 和 1920px 之间): http://theatredulamparo.fr
实际上,当您从左到右滚动悬停窗口时,背景位置会发生变化以显示精灵中包含的图片并打开大顶门,但在这种情况下,它也会从上到下移动,即不是预期的。我有点麻烦,因为这个问题在其他浏览器上没有显示(Safari 和 Firefox 都可以)。
有什么想法吗?
这是我的代码:
var portion = 0;
var numPortion = 0;
var chemin = "";
var largeur =0;
var hauteur = 0;
var position = 0;
var entrer2 = null;
function Initwrap(){
largeur = $('#wrapperbg').width();
hauteur = (largeur*0.590277778)-1;
$('#wrapperbg').height(hauteur);
}
// Changer le background position du sprite
function BgAnim(hauteur, position){
$('#wrapperbg').css({"background-position": "0 -"+position+"px", "height":hauteur});
}
function Entrer(chemin, numPortion, hauteur){
//Cacher les boutons
$('.callto').hide();
//Lancer l'animation d'entrée dans chapiteau
entrer2 = setInterval(function(){
if (numPortion<=20){
position = (hauteur+1)*numPortion;
BgAnim(hauteur, position);
numPortion++;
} else {
clearInterval(entrer2);
window.location=chemin;
}
}, 100);
}
$(document).ready(function(){
Initwrap();
//lorsque la souris se déplace dans la page
$("body").mousemove(function(e){
Initwrap();
portion = $('body').width()/9; //découpage écran en 12 portions (12 images)
numPortion = Math.floor(e.pageX/portion); //la portion où se trouve la souris
position = (hauteur+1)*numPortion;
// lorsque la souris sort du cadre
if(numPortion>8){
position=8;
}
if(numPortion<0){
position=0;
}
if(largeur > 1024){
BgAnim(hauteur, position); //lance l'effet de survol
}
});
//Au click sur un call2action
$('#callto1').click(function(e){
if(largeur > 1024){
e.preventDefault();
//chemin ='tpl_actu_fiche.html';
chemin ='index.php?id=2';
$("body").unbind('mousemove');
Entrer(chemin, numPortion, hauteur);
}
});
$('#callto2').click(function(e){
if(largeur > 1024){
e.preventDefault();
//chemin ='tpl_contact.html';
chemin ='index.php?id=30';
$("body").unbind('mousemove');
Entrer(chemin, numPortion, hauteur);
}
});
});
$(window).resize(function(){
portion = 0;
numPortion = 0;
chemin = "";
position = 0;
entrer2 = null;
largeur = $('#wrapperbg').width();
Initwrap();
if(largeur > 1024){
BgAnim(hauteur, position); //lance l'effet de survol
}
});
【问题讨论】:
标签: javascript sprite background-position