Nexus,
прошу меня простить за вновь поднятую тему. При добавлении этого скрипта
var body_width=$('body').width(),
$wrp=$('.wrp');
$wrp.css({
width:body_width,
'margin-left':-$wrp.offset().left
});
происходит конфликт скриптов. А именно все скрипты, которые находятся ниже его, перестают работать. Если я этот скрипт располагаю самым последним, то тогда все скрипты работают корректно. Если я заключаю его в
~function () {
}();
то это не помогает избежать конфликта. Скажите, пожалуйста, что можно сделать? |
LADYX,
консоль что пишет? |
Цитата:
показывает на ошибку в строке номер такой-то, на этой строке выходит: 'margin-left':-$wrp.offset().left да, и подчеркивает в этой строке волной ).left |
LADYX,
скорее всего элемента $('.wrp'); ещё нет сделайте так
$(function() {
var body_width=$('body').width(),
$wrp=$('.wrp');
$wrp.css({
width:body_width,
'margin-left':-$wrp.offset().left
});
});
|
рони,
я уже так тоже пробовал, не помогает |
LADYX,
делайте макет с проблемой или ждите телепата. что будет в консоли, код ниже
$(function() {
var body_width=$('body').width(),
$wrp=$('.wrp');
console.log($wrp.length)
$wrp.css({
width:body_width,
'margin-left':-$wrp.offset().left
});
});
|
LADYX,
Цитата:
|
Nexus,
нет, не в этом дело. Сейчас скрипт у меня вот такой:
$(function() {
function update() {
var body_width=$('body').width(), $uf=$('#pp-uf_range');
$uf.css({
width:body_width,
'margin-left':-$uf.offset().left
});
console.log($uf.length)
}
$(window).resize(update);
update();
});
рони, в консоли вот что:
Uncaught TypeError: Cannot read property 'left' of undefined
at update (scripts.js:113)
at HTMLDocument.<anonymous> (scripts.js:119)
at i (jquery.js?v=22:2)
at Object.fireWith [as resolveWith] (jquery.js?v=22:2)
at Function.ready (jquery.js?v=22:2)
at HTMLDocument.J (jquery.js?v=22:2)
scripts.js:113 это: 'margin-left':-$uf.offset().left подчеркивает ).left scripts.js:119 это: update(); Цитата:
я правильно дал информацию? Или не то что нужно? Тогда ткните меня, пожалуйста, носом) |
LADYX, попробуйте так и смотрите консоль:
$(function(){
$(window).resize(function(){
var body_width=$('body').width(),
$uf=$('#pp-uf_range');
if(!$uf.length)
throw new Error('Element «#pp-uf_range» not found');
$uf.css({
width:body_width,
'margin-left':-$uf.offset().left
});
}).resize();
});
У вас элемента нет на странице. |
Nexus,
конфликт решается заменой строки
$uf.css({
на
$uf.length && $uf.css({
но тогда появляется другая проблема. Есть у меня другой скрипт
$(function() {
$(window).scroll(function() {
var windowScroll = $(window).scrollTop();
var element = $('.pp-sections');
var distanceTop = element.offset().top - ($(window).height() / 2);
var distanceHeight = element.offset().top - ($(window).height() / 2 - element.height());
if (windowScroll > distanceTop && windowScroll < distanceHeight)
$('#panel-pp').animate({ 'left': '0px' }, 500);
else
$('#panel-pp').stop(true).animate({ 'left': '-146px' }, 200);
});
});
И на страницах, где нет блока .pp-sections, в консоли появляется ошибка в строке var distanceTop = element.offset().top - ($(window).height() / 2); Если обернуть этот скрипт в
~function () {
}();
то это не помогает. Что можно сделать? Простите меня за миллион вопросов, я сам уже запарился, ни одно, так другое :( |
| Часовой пояс GMT +3, время: 14:30. |