【发布时间】:2014-03-18 04:28:31
【问题描述】:
我有以下网站 wixwebsite.seobrasov.com,其中我有一个 Jquery 脚本,可以动画页面滑入和滑出。我有一个公式可以根据浏览器窗口计算中心位置:
left: Math.max(0,(($(window).width() - 980)/2))
980 是我的 div 的宽度。
但是,在调整窗口大小时,div 保持在旧位置,并且仅在刷新时重新对齐。
我想要做的是在窗口调整大小时重新居中活动页面。我已经尝试在文档中包含该功能,并准备好调整窗口大小,但这不起作用。 这是我的脚本代码:
function animate() {
var currentPageI = -1;
var pages = [
$('div.dhome'),
$('div.dabout'),
$('div.dcontact'),
$('div.dportraits'),
$('div.dpregnancy'),
$('div.dbabies-newborn'),
$('div.dbabies-3-6'),
$('div.dbabies-6-24'),
$('div.dkids'),
$('div.dfamily'),
$('div.dall-about-me'),
$('div.dcouples'),
$('div.dpets'),
$('div.dthe-experience'),
$('div.dfinishing-touches'),
$('div.dthank-you'),
];
var viewsWidth = 1300;
var showPage = function(index){
if(index === currentPageI){return;}
var currentPage = pages[currentPageI];
if(currentPage){
currentPage.stop().animate({left: -viewsWidth})
}
var nextPage = pages[index];
nextPage
.stop()
.css({left: viewsWidth + Math.max(0,(($(window).width() - 980)/2))})
.animate({left: Math.max(0,(($(window).width() - 980)/2))})
currentPageI = index;
}
// show default page
showPage(0);
$('a.dhome').click(showPage.bind(null, 0));
$('a.dabout').click(showPage.bind(null, 1));
$('a.dcontact').click(showPage.bind(null, 2));
$('a.dportraits').click(showPage.bind(null, 3));
$('a.dpregnancy').click(showPage.bind(null, 4));
$('a.dbabies-newborn').click(showPage.bind(null, 5));
$('a.dbabies-3-6').click(showPage.bind(null, 6));
$('a.dbabies-6-24').click(showPage.bind(null, 7));
$('a.dkids').click(showPage.bind(null, 8));
$('a.dfamily').click(showPage.bind(null, 9));
$('a.dall-about-me').click(showPage.bind(null, 10));
$('a.dcouples').click(showPage.bind(null, 11));
$('a.dpets').click(showPage.bind(null, 12));
$('a.dthe-experience').click(showPage.bind(null, 13));
$('a.dfinishing-touches').click(showPage.bind(null, 14));
$('.submit').click(showPage.bind(null, 15));
$('a.dthank-you').click(showPage.bind(null, 16));
$('.content-wrap').mouseover(function(){
$('.slider').stop().animate({
right: 0
}, 50000);
}).mouseout(function(){
$('.slider').stop().animate({
right: '-1300px'
}, 50000);
});
};
$(document).ready(function () {
animate();
});
$(window).resize(function(){
animate();
});
我什至尝试使用window.resize 和currentPage 在函数内添加css left 样式行,但它仍然无法正常工作。好像window.resize 什么都不做。
谢谢!
【问题讨论】:
-
你没有在窗口调整大小事件中调用动画函数...$(window).resize(function(){})
-
我已经包含了它,只是忘记在这里也包含它。还是谢谢
标签: javascript jquery css html