复制时3d视口jquery问题

时间:2011-07-07 14:21:10

标签: jquery html css 3d parallax

这个问题在FF和Chrome中仍然存在问题。休斯为IE修复了

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

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

我找不到问题所在,所以我决定请你们帮忙。 您可以在此处查看问题:http://basenharald.nl/3d/

我将边框放在几个LI项上,这样我的意思就更清晰了。

希望你们能帮忙。

BTW:当我使用px代替%时,我遇到了同样的问题,因此这不是答案。

2 个答案:

答案 0 :(得分: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;
        ...

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

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

答案 1 :(得分:0)

我邮寄了作者,过了一会儿他为我修好了。新的下载没有此问题:http://4coder.info/en/code/jquery-plugins/smart3d/download/