【问题标题】:JQuery Cycle javascript in search results. Bad Idea?搜索结果中的 JQuery Cycle javascript。馊主意?
【发布时间】:2012-09-16 11:31:20
【问题描述】:

我在很多不同的东西中经常使用 JQuery Cycle 幻灯片。头脑中总是有相同的交易:

<script type="text/javascript">
  $(document).ready(function() {
    $('.slideshow').cycle({
      fx: 'fade',
      etc...'
    });
  });
</script>

然后是正文中的图片:

<div class='slideshow'>
  <img src='photo1.jpg' width height />
  <img src='photo1.jpg' width height />
  <img src='photo1.jpg' width height />
  etc...
</div>

不过,这一次,我正在为供应商构建一个搜索引擎。每个返回的供应商都需要在他们的展示框中放一个小幻灯片。我使用 vendor_id 来保持幻灯片类的唯一性,但我不得不将 javascript 向下移动到正文中,这实际上是我的查询结果的一部分:

while($rst = mysql_fetch_array( SQL is happening... )) {
print("
  <script type='text/javascript'>
  $(document).ready(function() {
    $('.s$rst[vendor_id]').cycle({ 
    fx:     'fade', 
    etc...
    });
  });
  </script> 
  <div class='s$rst[vendor_id]'>
    <img src='$rst[prime_image]' width height />
    <img src='$rst[second_image]' width height />
    <img src='$rst[third_image]' width height />
    etc...
  </div>
");}

工作得很好,在我按下它并继续做其他事情之前,有人能想到这个方法的问题吗?烧掉不必要的内存或类似的东西?

谢谢, J

【问题讨论】:

    标签: php javascript jquery optimization


    【解决方案1】:

    为什么不将这些对cycle() 的调用封装在一个函数中?

    你会保存 count($rst) 次 strlen() - strlen(functionname+parameters),它看起来会更干净。 您甚至可以将您的 cycle() 保存在标题中......或者更好......在专用的 file.js 中。 (如果你喜欢的话,它甚至可以包含一个包装调用的 jquery 插件!)

    while($rst = mysql_fetch_array( SQL is happening... )) {
    print("
      <script type='text/javascript'>
      $(document).ready(function() {
        $('.s$rst[vendor_id]').cyclecaller(cycleoptions);
      });
    ......
    

    【讨论】:

      猜你喜欢
      • 2021-08-15
      • 2013-06-29
      • 2020-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-15
      相关资源
      最近更新 更多