2010-11-08 4 views
0

Я пытаюсь использовать настроить CSS-свойство с помощью JQuery:Редактирование CSS-свойство с помощью JQuery

  • menu_div должен быть такими же ширины, как на экране:

    $("#menu").css({width: (theWidth - 10)}); 
    
  • gallery_img должен находиться на левой стороне этой DIV, то contact_img должен быть на правой стороне:

    $("#gallery_img").css({left: 0 + 'px'}); 
    $("#contact_img").css({right: 0 + 'px'); 
    

Меню-div и изображения имеют положение: абсолютное. Что я делаю не так? Все изображения отображаются друг на друге.

+0

Пожалуйста, покажите полный код –

+0

Если это '0px' вы можете просто использовать' 0 '. – BrunoLM

+0

Как вы определяете «theWidth», и вы сказали, что хотите, чтобы ширина меню была такой же, как ширина экрана, поэтому почему -10? Плюс, поскольку Пекка говорит, что нам нужно увидеть какой-то другой код. Ваши HTML и CSS из #menu и боковых бит помогут. – Brady

ответ

3

У вас есть синтаксические ошибки в коде:

$("#contact_img").css({right: 0 + 'px'); 
//         ^missing closing brace } 

Кроме того, ваш CSS задание ширины для #menu элемента не следует «рх», что сводит правило и может привести к сбою в некоторые браузеры:

// Incorrect 
$("#menu").css({width: (theWidth - 10)}); 

// Corrent 
$("#menu").css({width: (theWidth - 10) + "px" }); 

Обратите внимание, что, если вы планируете использовать числовой литерал вы можете также просто использовать строку самостоятельно и избежать конкатенации. Вы также можете передать свойство и значение css в качестве отдельных аргументов:

$("#contact_img").css({right: '0px'}); 
$("#contact_img").css('right', '0px'); 
+0

Хороший улов, пропустил скобу. но также есть недостающий блок в бит #menu. Вероятно, должен иметь «+» px''. –

+0

@MarcB: Хорошо поймайте себя :-) Добавил его в ответ. –

0

Позиция абсолютная будет делать это. ваше левое для gallery_img должно быть 0px ... тогда ваш левый атрибут контакта img должен быть слева для ширины меню #menu + # в px.

Если вы не указали левый атрибут с абсолютной позицией, вы, в конечном счете, просто сложите все.

1

У вас есть какие-то недостающие скобки, возможно, более простой способ сделать это будет:

$(document).ready(function() { 
     var theWidth = $(window).width(); 
     $("#menu").css('width', theWidth - 10); 
     $("#gallery_img").css('left', 0); 
     $("#contact_img").css('right', 0); 
    })  
Смежные вопросы