【问题标题】:.ready not working in real website but it works in jsFiddle.ready 在真实网站中不起作用,但在 jsFiddle 中起作用
【发布时间】:2013-07-04 11:58:06
【问题描述】:

我正在开发一个网站,我使用这个翻板:http://jsfiddle.net/9yyVd/1490/

我没有让它在点击时工作,而是最初的编码方式,我将点击更改为 .ready。但这在网页中不起作用。我认为这是因为我现在在一个 jquery 文档中有 2 个 .ready 文件?反正我现在不知道。

现在我的代码如下所示:

target.ready(function(e) {
            var next = fill(texts[k].split('')),
                prev = fill(target.data('prev').split('')),
                print = prev;

            $.each(next, function(i) {
                if (next[i] == prev[i]) {
                    return;
                }
                var index = alph.indexOf( prev[i] ),
                    j = 0,
                    tid = window.setInterval(function() {
                        if ( next[i] != arr[index] ) {
                            index = index == alph.length-1 ? 0 : index + 1;
                        } else {
                            window.clearInterval(tid);
                        }
                        print[i] = alph[index];
                        render(print);
                }, options.speed)
            });
            k = k == texts.length-1 ? 0 : k + 1;
        });

它在小提琴中工作正常,但是当我在网站中实现它时,它不再工作了。您可以在此处查看源代码:http://www.babyq.be

所以目标是在页面加载或选择“box5”时让翻转板翻转。

希望有人能帮忙。

【问题讨论】:

  • 你确定它可以在 jsfiddle 上运行吗?
  • 请不要发布指向网站的链接,当网站修复时,它会丢弃您的问题,这不是 SO 的重点。小提琴似乎也不起作用。顺便说一句,恭喜! (或祝贺父母);-)
  • 是的,它在这里工作。 :)
  • @PixelProof:你的意思是页面加载时瓷砖翻转以停止某些消息?
  • 是的,这正是我的意思。因此,当页面加载时,瓷砖会翻转一段时间,然后它们会停在想要的消息处。现在我只有在单击图块时才能使用它,如下所示:jsfiddle.net/9yyVd/1491

标签: jquery ticker flipboard


【解决方案1】:

您的网站上似乎有错误,可能会导致查询应用程序停止运行。

【讨论】:

  • 我检查了第 69 行,但没有发现任何问题。奇怪的是,当我将 .ready 更改为 .click 时,它运行良好。知道如何解决这些错误吗?已经感谢您的帮助!
【解决方案2】:

您使用的是jquery 1.10.1.js,而您的js文件使用的是if ($.browser.msie) 在文件 http://www.babyq.be/scripts/jquery.spritely-0.6.js

中的 第 173 行

另外,$.browser 已从 version 1.3 中弃用并从 jquery 1.9 中删除

阅读此http://api.jquery.com/jquery.browser/

可能会导致错误

又出现一个错误看图你测试了吗?

新的更新我发现error你应该替换行

$('.text').ticker();

$('#text').ticker();

在这里使用Id,因为,

return this.each(function() {
  var k = 1,
  elems = $(this).children(),// here is problem 
  // try the above line by replacing=>  elems = $(this).find('li')
  arr = alph.split(''),
  len = 0,
  fill = function( a ) {
  while( a.length < len ) {
    a.push(' ');
  }
  return a;
},

【讨论】:

  • 好的,感谢您的评论,真的很有帮助。所以我改变了 'if ($.browser.msie)' & '$.browser' 的东西,现在我只剩下一个错误了。
  • @PixelProof 测试上面那个我做了修改。
  • 感谢您的更新,我试过了,但.ready 仍然不起作用,点击它就可以正常工作。我真的无法弄清楚问题是什么。我什至尝试通过其他实际会被点击的东西来改变“目标”,但这也不起作用。或者,如果您将鼠标悬停在棋盘或其他东西上时还有另一种解决方案,然后瓷砖开始翻转,那会很好,但它仅适用于目标以外的任何东西。
  • 我可以在使用 setTimeout(function() 函数时让它工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-22
  • 2018-03-11
  • 2020-09-19
相关资源
最近更新 更多