3

该问题仅在 FF 和 Chrome 中仍然存在。Hughes 为 IE 修复了它

我目前正在一个网站上使用视差效果来伪造 3D 效果。我正在使用的脚本是smart3d(jQuery 插件)。

我制作的第一张幻灯片效果很好(尽管出于某种原因,100% 的宽度实际上并不是 100%)。如果我复制它,它会在悬停时更多地向右侧移动。如果我再次复制它......它会改变更多。

我找不到问题所在,所以我决定向你们寻求帮助。您可以在这里查看问题:http: //basenharald.nl/3d/

我把几个LI项目的边界放在上面,这样我的意思就更清楚了。

希望你们能提供帮助。

顺便说一句:当我使用px而不是时,我遇到了同样的问题,%所以这不是答案。

4

2 回答 2

4

这是 smart3d 中的一个错误。它可以正确调整垂直滚动,但不考虑水平滚动。我找到了相关代码,这里是如何修复它的说明。

打开文件 jquery.smart3d.js,在第 69 行附近,您会发现我们将 mousemove 函数绑定到 smart3d 容器的位置:

thisObj.mousemove(function(e){
    if (settings['horizontal']) {
        var x = e.clientX - thisObj.offset().left;
        ...

我们需要做的是考虑水平滚动,就像它已经为垂直滚动所做的那样。将函数更改为:

thisObj.mousemove(function(e){
    if (settings['horizontal']) {
        var st = $('html').scrollLeft();
        var x = e.clientX - thisObj.offset().left + st;
        ...

保存文件并重新加载您的页面。

应该可以解决您的问题,因为它与脚本处理垂直偏移的方式相同。不过我自己没试过!

于 2011-07-07T15:27:58.713 回答
0

我给作者发了邮件,过了一会儿他给我修好了。新下载没有这个问题:http: //4coder.info/en/code/jquery-plugins/smart3d/download/

于 2011-09-08T13:22:30.637 回答