【问题标题】:jCarouselLite Giving Error SometimejCarouselLite 有时会出现错误
【发布时间】:2014-05-15 17:52:45
【问题描述】:

我们有时在产品详细信息页面上遇到问题:(我们在所有产品详细信息页面上加载图像时遇到问题,即客户可以从哪里购买产品) 我们在控制台上遇到了一些错误

    {
    Failed to load resource: the server responded with a status of 404 (Not Found) 
    Uncaught TypeError: Object [object Object] has no method 'autocomplete' 
    Uncaught TypeError: Object [object Object] has no method 'jCarouselLite' 
    }

请帮忙。

我的代码如下。

-----Javascript 代码开始------

<script src="js/validate.js"></script>
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" />
<script src="js/jcarousellite_1.0.1c4.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function() {
        document.title="<?php echo $product['pd_name']; ?>";
        $(".newsticker-jcarousellite").jCarouselLite({
            vertical: true,
            hoverPause:true,
            visible: 4,
            auto:500,
            speed:1500
        });

        var hh=$(".image_preview_img_text").height();
        if(hh<=300)
        {
            //$("#tag_rt_new").height("");
            $("#tag_rt_new").css("padding-top","300px");
        }

        $("#tag_rt_new").show();
        $(".index_left_nav_new").remove();
    });
</script>
<script src="js/jcarousellite_1.0.1c4.js" type="text/javascript"></script>
<script>
    $(document).ready(function(){
        err_msg_pp();
        $(".cart_tmp_msg_div_pp").css("height","0px");
        $(".cart_tmp_msg_div_pp").css("padding","0px");
        $(".cart_left").find("div").nextAll('br').remove();
        $(".cart_left").find("div div br").remove();
        $(".description ul br").remove()
        $(".description li").css("padding","5px");
        $(".cart_left div div").css("padding-bottom","4px");
        change_image_color( <?php echo $_GET['p'];?>,
            document.getElementById("first_col_name").value,
            document.getElementById("colid").value
        );
    });

</script>
<script type="text/javascript">
var flag=0;
var loader='<img src="admin/images/382.gif" style="padding-left: 
20%;padding-top: 25%;"/>';

----END----

【问题讨论】:

  • 您使用的是 JavaScript AMD 加载程序吗?它看起来类似于插件在库之前激活时出现的问题,在这种情况下,我假设您的图像轮播在 jquery 之前加载。这可以解释为什么你只看到它有时会发生。
  • 一个月一次?像月底这样的月份的任何特定部分?也许您的带宽不足。
  • 可能有很多事情,我的猜测与@ShanRobertson 所说的相同 - 但我建议您从清理 HTML 开始。您似乎在同一页面上多次加载多个版本的 jquery(加载一次,然后加载您的轮播插件)此外,!DOCTYPE 应该是文件中的第一件事...
  • 伙计们,我已经上传了我在产品详细信息页面上使用的相同 javascript 代码。你看出其中有什么不对吗? ...谢谢
  • @MatthewWilcoxson 请帮帮我

标签: javascript php jquery image jcarousellite


【解决方案1】:

一些一般提示: 1. 尝试使用一个 document.ready 函数将您的设置代码全部放在一个地方。这使得调试更容易。 2.只加载一次javascript库。您可能会混淆浏览器。 3. 尽量限制你使用的脚本数量。

使用您添加的代码,您可以尝试重构:

<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" />

<script src="js/validate.js" type="text/javascript"></script>
<script src="js/jcarousellite_1.0.1c4.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function(){

        document.title="<?php echo $product['pd_name']; ?>";
        $(".newsticker-jcarousellite").jCarouselLite({
            vertical: true,
            hoverPause:true,
            visible: 4,
            auto:500,
            speed:1500
        });

        var hh=$(".image_preview_img_text").height();
        if(hh<=300)
        {
            //$("#tag_rt_new").height("");
            $("#tag_rt_new").css("padding-top","300px");
        }

        $("#tag_rt_new").show();
        $(".index_left_nav_new").remove();

        err_msg_pp();
        $(".cart_tmp_msg_div_pp").css("height","0px");
        $(".cart_tmp_msg_div_pp").css("padding","0px");
        $(".cart_left").find("div").nextAll('br').remove();
        $(".cart_left").find("div div br").remove();
        $(".description ul br").remove()
        $(".description li").css("padding","5px");
        $(".cart_left div div").css("padding-bottom","4px");
        change_image_color( <?php echo "something";?>,
            document.getElementById("first_col_name").value,
            document.getElementById("colid").value
        );
    });
</script>

如果您有其他代码尝试加载“js/jcarousellite_1.0.1c4.js”,请将其删除。 $(document).ready 中的代码应该在加载完所有 javascript 后运行。

【讨论】:

    【解决方案2】:

    最后我做对了。你是对的@MatthewWilcoxson,因为 jquery -1.9.1 已经在不同的页面上添加了四次。我不知道为什么这个问题不是永久性的。无论如何,问题是多次包含 jQuery 并通过删除相同的内容,它解决了问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-24
      • 2016-07-29
      • 2013-12-30
      • 2017-01-10
      • 2020-02-26
      相关资源
      最近更新 更多