我在很多不同的东西中使用了JQuery循环幻灯片。在头脑中总是有相同的交易:
<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
发布于 2012-09-16 11:31:21
为什么不将这些对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);
});
......
https://stackoverflow.com/questions/12444192
复制相似问题