Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   сумма ширин сторон блоков (https://javascript.ru/forum/jquery/15771-summa-shirin-storon-blokov.html)

_axl 12.03.2011 17:34

сумма ширин сторон блоков
 
Здравствуйте, мне надо посчитать сумму ширин сторон пунктов меню, делаю так:
$("li", slider).each(function(){
    w += $(this).width();
});


В опере 11 не работает, работает если поставить на итерацию алерт, но это мне подходит. В чем может быть проблема?

jura4x01 14.03.2011 15:05

изучите селекторы jQuery.
$("li", slider) что за порнуха??

http://ruseller.com/shporgalki/jquer...lectors_n.html

_axl 15.03.2011 07:56

что за индейцы, ты мне скажи по теме что-нить путное если занешь, а что изучить не по вопросу, я сам разберусь

x-yuri 15.03.2011 10:48

работает
<!DOCTYPE HTML>
<html>
  <head>   
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
    <script src="my.js"></script> 
  </head>
  <body>

<style type="text/css">
  ul, li {
    padding: 0;
    margin: 0;
  }
  li {
    list-style-type: none;
    float: left;
  }
</style>
<ul>
<li>item 1
<li>item 2
<li>item 3
</ul>

<script type="text/javascript">
var w = 0;
$("li").each(function(){ 
    w += $(this).width(); 
});
alert(w);
</script>

  </body>
</html>


Цитата:

Сообщение от _axl
В чем может быть проблема?

пункты меню не существуют либо не видны

jura4x01, бывает лучше молчать, чем говорить ;)

_axl 15.03.2011 12:19

Цитата:

пункты меню не существуют либо не видны
спасибо, я разобрался,т.к. в пунктах меню у меня грузятся картинки и скрипт был повешен на dom ready, то к старту картинки еще не прогружались и не "распирали" пункты меню на нужную ширину, повесил скрипт на window.onload и все заработало, сразу не догадался, т.к в остальных браузерах работало

x-yuri 15.03.2011 12:37

но вообще, есть подозрение, что там не надо считать ширину меню

jura4x01 15.03.2011 12:50

Господа, а разве селекторы не должны браться в кавычки? поправьте, если не прав.
может все-таки так?
$("li, slider").each(function(){

и в мыслях не было мусорить :)

x-yuri 15.03.2011 12:59

там есть такой параметр, как context
<!DOCTYPE HTML>
<html>
  <head>   
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
    <script src="my.js"></script> 
  </head>
  <body>

<div>
  <span>text 1</span>
</div>
<span>text 2</span>

<script type="text/javascript">
  var div = $('div');
  alert( $('span', div).text() );
</script>

  </body>
</html>

jura4x01 15.03.2011 13:29

так бы сразу) виноват. учту.

_axl 15.03.2011 14:13

Цитата:

но вообще, есть подозрение, что там не надо считать ширину меню
Я делал простой слайдер, типа картинки в одну полосу и их можно туда-сюда перекатывать. Вы знаете еще способ сделать ряд блоков в одну линию, не задавая ширину родителю равную сумме ширин потомков?( Родитель. если не задавать ему ширину будет сам подстраиваться под ширину блока в который он в свою очередь вложен, и блоки с картинками будут переноситься )


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