0

我正在努力将我的 jquery 悬停与 $.post 结合起来。

我的目标是创建一堆选择按钮,如果我将其悬停,图像会发生变化(该图像的路径将由 $.post 加载)。图像将在鼠标移出时更改为其默认值。

如果单击选择按钮,它将永久更改图像。

问题是图像有时即使在悬停时也会永久更改。

链接文本中自己 尝试尝试将鼠标悬停在选择上一段时间,图像不会变回。

请问我该如何解决这个问题?

var origpic;
var klik;
var inputval;
var newpic;
var origbnazev;
var cesta = "/ajaxobrazek.php";
$("input[name='barva']").hover(function() { 
    klik = 0;
    inputval = $(this).val();
    origbnazev = $("#bnazev").text();
    origpic = $("#kocarekimg").attr("src");
    $.post(cesta, {dodavatel_id : "<?php echo $row['dodavatel_id']?>", barva_cislo : inputval},     

    function(data){
        $("#kocarekimg").attr("src","/images/maly-"+data+".jpg");
     });
    $.post("/ajaxbarva.php", {barva_cislo : inputval}, function(data){
            $("#bnazev").text(data);
        });

    },function(){ 
    if (klik == 0) {
    $("#bnazev").text(origbnazev);  
    $("#kocarekimg").attr("src",origpic);}  
    });  

    $("input[name='barva']").click(function() { 
    klik = 1;

    $.post(cesta, {dodavatel_id : "<?php echo $row['dodavatel_id']?>", barva_cislo : inputval}, 

    function(data){
     $("#kocarekimg").attr("src","/images/maly-"+data+".jpg");
     origpic = "/images/maly-"+data+".jpg";
     }); 

     });

    //thumbnails
   $(".imgtn").hover(function() { 
    origpic = $("#kocarekimg").attr("src");
    newpic = $(this).attr("src");
    newpic = newpic.replace("tn-","maly-");
    $("#kocarekimg").attr("src",newpic); 
    },function(){ 
   $("#kocarekimg").attr("src",origpic);  
    });  
4

1 回答 1

1

我在 Chrome 中没有任何问题,在 Firefox 和 IE 中也没有。我看到的唯一一件事是该网站没有应有的响应速度,而且 - 坦率地说 - 我不明白为什么您在加载图像参考后不缓存它们。

您的脚本在每次悬停时都会进行 ajax 调用,这是无稽之谈。

于 2010-09-10T08:19:47.850 回答