Как определить уменьшение или увеличение элемента?
Здравствуйте.. подскажите как можно определить что элемент уменьшается или увеличивается при изменении размеров окна?
$(window).resize(function() {}); |
Брать его размер. При изменении размеров окна - проверять его размер. Если больше, чем было - значит, увеличился.
|
function RubberShoveler() { resize = $('ul').width(); $(window).resize(function() { var action; var ulWidth=$('ul').width();//Текущий размер UL if(ulWidth<resize) { action = false; } else if(ulWidth>resize) { action = true; } resize=ulWidth; $('#res').html(resize+" ; "+action); }); } всё время false, странно resize глобальная переменная сначало получаем текущую ширину в переменную resize, при возникновении события сравниваем если значение увеличилось true нет false и так далее, но что то только false |
Цитата:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> $(document).ready(function(){ resize = $('ul').width(); $(window).resize(function() { var action=''; var ulWidth=$('ul').width(); if(ulWidth<resize) { action = '<<'; } else if (ulWidth>resize) { action = '>>'; }; resize=ulWidth; $('#res').text(action); }); }); </script> </head> <body> <ul> <li>Test</li> </ul> <p id='res'></p> </body> </html> Правда в ИЕ8 работать не захотело... А вот в ФФ и Опере таки работает. |
Цитата:
|
Цитата:
|
ksa, работает) Видимо, браузер глюкнул, а я не разобрался)
|
У меня в хроме не работало, видимо из за того что если делать инкремент при увеличении или уменьшении окна в хроме переменная увеличивается на 2 а в опере на 1
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> resize = $('.shoveler ul').width(); $(window).resize(function() { var action=''; var ulWidth=$('ul').width(); if(ulWidth<resize) { action = '<<'; } else if (ulWidth>resize) { action = '>>'; }; resize=ulWidth; if(action=='>>') { $('#res').html(">>"); } else if(action=='<<') { $('#res').html("<<"); } }); </script> </head> <body> <ul> <li>Test</li> </ul> <p id='res'></p> </body> </html> в ie нет возможности проверить, но думаю заработает... если заменить if(action=='>>') { $('#res').html(">>"); } else if(action=='<<') { $('#res').html("<<"); }на $('#res').html(action); то в хроме точно не работает |
Часовой пояс GMT +3, время: 23:44. |