Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   jquery выбрать элемент списка li по ширине (https://javascript.ru/forum/misc/72175-jquery-vybrat-ehlement-spiska-li-po-shirine.html)

VladimirL 13.01.2018 14:41

jquery выбрать элемент списка li по ширине
 
У li есть заданная ширина, если ширина изображения больше ширины li изображение центрируестья с помощью отрицательного margin-left. Код работает но ко всем элементам, а нужно только к тому где img больше li
Если можно поясните мою ошибку, т.к. изучаю. Спасибо!
<div class="wrap_slider_services">
	<ul>
		<li><img></li>
		<li><img></li>
		<li><img></li>
	</ul>
</div>

jQuery(document).ready(function($) {

	$('.wrap_slider_services ul li').each(function(){

        var w_li = $(this).width();
        var w_img = $(this).find('img').width();

        if(w_img > w_li){
            
            $(this).find('img').css('margin-left', 'calc(-50% - 50%)');

        }

    });
});

рони 13.01.2018 15:29

Цитата:

Сообщение от VladimirL
изображения больше ширины li

а где в коде это?

VladimirL 13.01.2018 16:14

Спасибо за замечание, я поправил, код на сколько мне позволяют знания. к сожалению он по прежнему не рабочий, что делаю не так? подскажите. Спасибо!

Вообщем, опытные может улыбнутся, но вот что получилось своими силами:
$('.wrap_slider_services ul li img').load(function(){
        var w_img = $(this).width();
        var w_li = $(this).parent().width();
        var align_center = (w_img - w_li) / -2;
            
       $(this).css('margin-left', align_center);

    });

так работает


Часовой пояс GMT +3, время: 04:55.