Я пытаюсь написать сценарий, который сначала уменьшит изображение до 80%, затем 60% и т.д. Вплоть до 1%, но когда я вызываю событие (.click), все, что я получаю, сделку, где она идет к моей установленной непрозрачности. как я могу продолжать? заранее спасибо. вот мой код:
<html>
<center><img
src="image1.jpg"
id="1"><br><img src="image2.jpg"
width="500" height-"500" id="2" ></img></center>
</html>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#2").click(function() {
$("#1").fadeTo(500,.3);
});
});
</script>
Вы можете отслеживать переменную, которая увеличивается при каждом вызове:
var x=1;
$(document).ready(function() {
$("#2").click(function() {
if((x*.75)>(.01)){
x=x*.75; //whatever desired pattern
}
$("#1").fadeTo(500, x);
});
});
Это должно сделать трюк.
$(document).ready(function() {
$("#2").click(function() {
if($("#1").css("opacity")>.2) {
$("#1").fadeTo(500,$("#1").css("opacity")-.2);
} else {
$("#1").fadeTo(500, .01);
$("#2").unbind("click");
}
});
});
Либо отслеживайте текущую непрозрачность с помощью переменной, либо получаете текущую непрозрачность с помощью jquery, например var opacity = $ ('elemFoo'). Css ('opacity');
затем уменьшите opacityby желаемого уровня.
var opacity= $('elemFoo').css('opacity');
if(opacity > 0.2){
$('elemFoo').faceTo(opacity - 0.2);
}
Что-то вроде этого:
var opacity = 1;
$("#2").click(function() {
opacity = opacity * .75;
$("#1").fadeTo(500, opacity);
});
Это уменьшит непрозрачность на 25% от текущей непрозрачности каждого щелчка. Вы можете изменить расчет, чтобы настроить, насколько дополнительно он исчезает каждый раз.