将jquery代码放在网上时有错误行

时间:2013-01-30 02:42:43

标签: php jquery

计划使用灯箱将可滚动图库放在网上。我遇到了一个错误,我的一个代码有意外“:”,预计会出现以下情况之一:“}”,“”, ATTR

使用CMS简单。 对于cmsms错误,它会显示

  

文件/xxx/xxx/public_html/lib/smarty/sysplugins/smarty_internal_templatecompilerbase.php第702行

这是我计划放在我网站上的代码。 http://sorgalla.com/jcarousel/

我会在此处发布我的错误以及之后的完整脚本。

错误代码。

jQuery("#gallery-prev").click(function(){
            if(jQuery("#gallery").position().left < 0 && !jQuery("#gallery").is(":animated")){
                jQuery("#gallery").animate({left : "+=" + imageWidth + "px"});
            }
            return false;
        });

完整代码。

<script type="text/javascript">
$(window).load(function(){ 

    // Gallery
    if(jQuery("#gallery").length){

        // Fancybox
        jQuery("#gallery li a").fancybox({
            'titleShow'     : false,
            'transitionIn'  : 'elastic',
            'transitionOut' : 'elastic'
        });

        // Variables aren't use properly due to Webkit
        var totalImages = jQuery("#gallery > li").length, 
            imageWidth = jQuery("#gallery > li:first").outerWidth(true),
            totalWidth = imageWidth * totalImages,
            visibleImages = Math.round(jQuery("#gallery-wrap").width() / imageWidth),
            visibleWidth = visibleImages * imageWidth,
            stopPosition = (visibleWidth - totalWidth);

        jQuery("#gallery").width(totalWidth);

        jQuery("#gallery-prev").click(function(){
            if(jQuery("#gallery").position().left < 0 && !jQuery("#gallery").is(":animated")){
                jQuery("#gallery").animate({left : "+=" + imageWidth + "px"});
            }
            return false;
        });

        jQuery("#gallery-next").click(function(){
            if(jQuery("#gallery").position().left > stopPosition && !jQuery("#gallery").is(":animated")){
                jQuery("#gallery").animate({left : "-=" + imageWidth + "px"});
            }
            return false;
        });
    }

});
</script>

感谢所有人的帮助。 感谢

2 个答案:

答案 0 :(得分:6)

你似乎使用了聪明,问题是smarty与开/关括号{}混淆。尝试用smarty的{literal}标签包围脚本,即:

{literal}
<script.....

</script>
{/literal}

另外,如果你使用的是smarty 3,它可能会在没有文字标签的情况下工作,只需在每个“{”之后和每个“}”之前添加一个空格

jQuery("#gallery").animate({ left : "+=" + imageWidth + "px" });

答案 1 :(得分:0)

您的错误似乎在这里:

  

jQuery(“#gallery”)。animate({left:“+ =”+ imageWidth +“px”});

来自here似乎正确的合成器是.animate({left:imageWidth +“px”});

您是否更改了原始示例中的任何内容?您可以为动画库使用大量免费的封面流/内容流程库。我只熟悉javascript,这是我最近使用的一个非常好http://jacksasylum.eu/ContentFlow/