2013-11-21 13 views
-1

У меня есть div, отвечающий <div style="background-position: 50% 0"></div>.Изменить стиль div при нажатии

Я хочу увеличить background-position 50% больше каждый раз, когда я нажимаю на него, то есть <div style="background-position: 100% 0"></div>, затем <div style="background-position: 150% 0"></div> и так далее. есть ли способ сделать это с помощью jquery?

+0

использование .css() для достижения этого – VJS

+3

Вашего заголовка вопрос говорит «стиль шрифта меняется при нажмите» пока ваш вопрос касается фона позиции? :) –

+0

ya, пожалуйста, отредактируйте название или вопрос ... –

ответ

0

Попытка, используя метод .animate() Jquery:

$('div').click(function() { 
    $(this).animate({ 
     backgroundPositionX: '+=50%' 
    },0); 
}); 
+0

это действительно сработало. благодаря! соответственно, если бы я хотел уменьшить 50%, мне придется изменить его на «= 50%», правильно? – sdvnksv

+0

Ya, это правильно –

0

fiddle Demo

$('div').click(function() { 
    var perc = parseInt($(this).attr('style').match(/\d+%/g)) + 50; 
    $(this).attr('style', "background-position: " + perc + "% 0"); 
}); 


или

fiddle Demo

$('div').click(function() { 
    var perc = parseInt($(this).attr('style').match(/\d+%/g)) + 50; 
    $(this).css("background-position", perc + "% 0"); 
}); 
0
$('div').css('background-position', function (i, value) { 
    var x = parseInt(value, 10); 
    return (x + 50) + "%" + " 0"; 
}); 
Смежные вопросы