0

我有以下代码:

<script src="http://widgets.twimg.com/j/2/widget.js"></script>

<script>

new TWTR.Widget({
  version: 2,
  type: 'profile',
  rpp: 4,
  interval: 30000,
  width: 250,
  height: 350,
  theme: {
    shell: {
      background: '#5785BC',
      color: '#eff4fa',
    },
    tweets: {
      background: '#ffffff',
      color: '#424242',
      links: '#2480bd'
    }
  },
  features: {
    scrollbar: false,
    loop: false,
    live: false,
    behavior: 'all'
  }
}).render().setUser('Sometwitterpage').start();

</script>
</div>
<style type="text/css">
#twtr-widget-1 {float:right; border:solid 10px #e6edf5; }

</style>

它与 jquery UI 手风琴在同一页面上,由于某种原因它会阻止手风琴工作。我花了好几个小时看看是什么弄坏了手风琴。仅当包含http://widgets.twimg.com/j/2/widget.js时,手风琴才会中断。该文件被压缩,所以我不知道从哪里开始。有没有其他人遇到过这个?

4

2 回答 2

1
<script type="text/javascript">

  $.noConflict();
  jQuery(document).ready(function($) {
    // Code for accordion here.
  });
  // Code for twitter here.

</script>

它是这样工作的,但有什么办法可以让我看到源代码 - 你有可以分享的网址吗?然后我们可以更好地解决相关代码的放置位置......

******更新******

我在这里更新,因为这篇文章有点混乱,聊天不起作用等等。所以,为了“包含”信息..

您发布到 jsfiddle的内容中没有$(document).ready(function(){})<head>因此您可以尝试从...调用 twitter 小部件

<body onload="new TWTR.Widget({}).render().setUser('Sometwitterpage').start();"> 
  • 最好编写一个可以从 onload 调用的函数,并且该函数包含对新 twitter 小部件的调用。

  • onload 只会在所有内容、所有图像等都加载完毕后触发,因此您的手风琴应该已经在工作,然后您可以调用 twitter 小部件。然而,大概用户随后会看到 twitter 小部件“出现”为页面的添加元素。

info re以及与此处 onload="myFunc()"相比的差异... onload() 和 $.ready 之间的差异?$(document).ready()

看看情况如何——如果没有,我们会想别的办法。

小号

******更新2******

好的,所以如果您无权访问该<body>标签,请尝试以下操作:

在手风琴块中:

<div id="accordion">
    <h3><a href="#">First header</a></h3>
    <div>First content</div>
    <h3><a href="#">Second header</a></h3>
    <div>Second content</div>
</div>

<script type="text/javascript">

  $.noConflict();
  jQuery(document).ready(function($) {
    // Code for accordion here eg...
       $('.accordion .head').click(function() {
    $(this).next().toggle('slow');
    return false;
   }).next().hide();
  });

</script>

然后在带有 twitter 小部件的块中:

<script type="text/javascript">

  //your original twitter widget code
new TWTR.Widget({
  version: 2,
  type: 'profile',
  rpp: 4,
  interval: 30000,
  width: 250,
  height: 350,
  theme: {
    shell: {
      background: '#5785BC',
      color: '#eff4fa',
    },
    tweets: {
      background: '#ffffff',
      color: '#424242',
      links: '#2480bd'
    }
  },
  features: {
    scrollbar: false,
    loop: false,
    live: false,
    behavior: 'all'
  }
}).render().setUser('Sometwitterpage').start();


</script>

看看情况如何...

****更新3****

<head>您在 jsfiddle 上发布的内容中,包括以下内容:

<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery-ui-1.8.19.custom.min.js?m=20120904100316"></script>


<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery.prosteps.js?m=20120904100316"></script>
<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery.boxy.js?m=20120904100316"></script>
<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery.scroll-To.js?m=20120904100316"></script>
<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery.hoverIntent.js?m=20120904100316"></script>
<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery.jqzoom1.0.1.js?m=20120904100316"></script>
<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery.tools.scrollable.min.js?m=20120904100316">

您是否可以选择打开/关闭这些功能 - 例如,如果您不打算使用可滚动的 jquery 工具,请将其关闭 - 即,不要包含源 .js 文件。我的猜测是问题很可能来自冲突的变量,因此您可以尝试通过关闭/打开各种脚本来隔离它。摆脱过剩是一个明确的起点。

于 2012-09-04T10:28:55.813 回答
0

可能有点简单 - 甚至可能不是最佳实践 - 但您是否尝试过更改“包含”顺序 - 大概您有一个

<script src="yourSource/jquery-ui.js"></script>

我过去曾经 - 更改顺序以首先包括另一个,它开始工作。不太令人满意,因为这实际上并不能确定问题,但它可能会让你再次滚动......

小号

于 2012-09-04T09:38:12.397 回答