我正在努力将我的jquery悬停与$ .post结合使用。
我的目标是创建一堆选择按钮,如果我将鼠标悬停在其上,则图像会发生变化(此图像的路径将加载$ .post)。鼠标输出时图像将更改为默认值。
如果单击选择按钮,它将永久更改图像。
问题是即使在悬停时图像有时会永久更改。
在link text尝试一下 尝试将选项悬停在选择上一段时间,图像不会改变回来。
我该如何解决这个问题?
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);
});
答案 0 :(得分:1)
我在Chrome中没有任何问题,在Firefox和IE中也没有任何问题。我唯一看到的是该网站没有应有的响应,而且 - 坦率地说 - 我不明白为什么你一旦加载就不会缓存图像引用。
你的脚本在每次悬停时都会进行ajax调用,这是无稽之谈。