2010-09-10 5 views
0

Я борюсь с моим курсором jquery в сочетании с $ .post.jQuery.hover с AJAX не работает должным образом

Моя цель состояла в том, чтобы создать кучу кнопок выбора, и если я навещу его, изображение изменится (путь к этому изображению будет загружен на $ .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); 
    }); 
+1

Надеюсь, ваш код будет лучше отформатирован в вашем JS-файле. Вы должны стараться держать его как можно более аккуратным - гораздо проще обнаружить синтаксические ошибки. –

ответ

1

У меня нет проблем в Chrome, а также в Firefox и IE. Единственное, что я вижу, это то, что сайт не так отзывчив, как должен, и, честно говоря, я не понимаю, почему вы не кэшируете образы изображений после их загрузки.

Ваш скрипт делает вызов ajax при каждом зависании, это вздор.

+0

Ну, я сделал кеширование, как вы сказали. Если я медленно надвигаюсь на все выбранные, чтобы загрузить все изображения-ссылки в массив, тогда, когда я делаю то, что когда-либо работает нормально. Но если я сделаю быстрое движение до этого (ajax в использовании), он снова завинчивается :-(. – Jan

Смежные вопросы