Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 11.11.2017, 22:00
Аватар для LADYX
Профессор
Отправить личное сообщение для LADYX Посмотреть профиль Найти все сообщения от LADYX
 
Регистрация: 19.02.2015
Сообщений: 219

Nexus,
прошу меня простить за вновь поднятую тему. При добавлении этого скрипта
var body_width=$('body').width(),
		$wrp=$('.wrp');
    
$wrp.css({
    width:body_width,
    'margin-left':-$wrp.offset().left
});

происходит конфликт скриптов. А именно все скрипты, которые находятся ниже его, перестают работать. Если я этот скрипт располагаю самым последним, то тогда все скрипты работают корректно. Если я заключаю его в
~function () {
}();

то это не помогает избежать конфликта.
Скажите, пожалуйста, что можно сделать?
Ответить с цитированием
  #22 (permalink)  
Старый 11.11.2017, 22:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

LADYX,
консоль что пишет?
Ответить с цитированием
  #23 (permalink)  
Старый 11.11.2017, 22:14
Аватар для LADYX
Профессор
Отправить личное сообщение для LADYX Посмотреть профиль Найти все сообщения от LADYX
 
Регистрация: 19.02.2015
Сообщений: 219

Сообщение от рони
консоль что пишет?
рони,
показывает на ошибку в строке номер такой-то, на этой строке выходит:
'margin-left':-$wrp.offset().left

да, и подчеркивает в этой строке волной
).left

Последний раз редактировалось LADYX, 11.11.2017 в 22:19.
Ответить с цитированием
  #24 (permalink)  
Старый 11.11.2017, 22:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

LADYX,
скорее всего элемента $('.wrp'); ещё нет
сделайте так
$(function() {
var body_width=$('body').width(),
    $wrp=$('.wrp');

$wrp.css({
    width:body_width,
    'margin-left':-$wrp.offset().left
});

});
Ответить с цитированием
  #25 (permalink)  
Старый 11.11.2017, 22:22
Аватар для LADYX
Профессор
Отправить личное сообщение для LADYX Посмотреть профиль Найти все сообщения от LADYX
 
Регистрация: 19.02.2015
Сообщений: 219

рони,
я уже так тоже пробовал, не помогает
Ответить с цитированием
  #26 (permalink)  
Старый 11.11.2017, 22:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

LADYX,
делайте макет с проблемой или ждите телепата.
что будет в консоли, код ниже
$(function() {
var body_width=$('body').width(),
    $wrp=$('.wrp');
         console.log($wrp.length)
$wrp.css({
    width:body_width,
    'margin-left':-$wrp.offset().left
});

});
Ответить с цитированием
  #27 (permalink)  
Старый 11.11.2017, 23:43
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

LADYX,
Сообщение от LADYX
Прошу меня простить. И этот вариант работает. Это моя ошибка. Просто у меня блок .wrp идет не класс, а ид.
Ответить с цитированием
  #28 (permalink)  
Старый 12.11.2017, 12:53
Аватар для LADYX
Профессор
Отправить личное сообщение для LADYX Посмотреть профиль Найти все сообщения от LADYX
 
Регистрация: 19.02.2015
Сообщений: 219

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();

Сообщение от рони
делайте макет с проблемой
рони,
я правильно дал информацию? Или не то что нужно? Тогда ткните меня, пожалуйста, носом)
Ответить с цитированием
  #29 (permalink)  
Старый 12.11.2017, 13:01
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

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();
});

У вас элемента нет на странице.
Ответить с цитированием
  #30 (permalink)  
Старый 12.11.2017, 13:22
Аватар для LADYX
Профессор
Отправить личное сообщение для LADYX Посмотреть профиль Найти все сообщения от LADYX
 
Регистрация: 19.02.2015
Сообщений: 219

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 () {
}();

то это не помогает. Что можно сделать?
Простите меня за миллион вопросов, я сам уже запарился, ни одно, так другое
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mouseup нa кнопке полосы прокрутки dadli Общие вопросы Javascript 0 30.06.2012 12:45
div в конец полосы прокрутки vladimircape Events/DOM/Window 1 03.05.2012 03:11
Как получить ширину html элемента?(возвращает NaN или auto) manking Общие вопросы Javascript 2 23.03.2012 14:17
Создание с помощью скрипта html элемента Anastasiya Общие вопросы Javascript 4 25.10.2011 22:28
как прекратить выполнение скрипта ? kefi Общие вопросы Javascript 3 31.03.2009 19:05