Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.07.2010, 00:23
Интересующийся
Отправить личное сообщение для Kostyn4ick Посмотреть профиль Найти все сообщения от Kostyn4ick
 
Регистрация: 25.07.2010
Сообщений: 11

Разместить 2 одинаковых скрипта на 1 странице
Здравствуйте, возникла такая надобность разместить 2 одинаковых скрипта на 1 странице. С этим скриптом был файл custom:
$(document).ready(function() {
//Активизируем первую ссылку
$(".contentnav2 a:first").addClass("active2");
//Ширина площади одной страницы
var contentwidth2 = $(".contentholder2").width();
//Обще количество страниц
var totalcontent2 = $(".content2").size();
//Общая ширина всего контента (всех страниц)
var allcontentwidth2 = contentwidth2 * totalcontent2;
//Проскальзывание контента устанавливаем на ширину, которую получили выше
$(".contentslider2").css({'width' : allcontentwidth2});
//Теперь пишем новую функцию для проскальзывания и навигации
rotate = function(){
//Количество раз, на которое надо прокрутить контент
var slideid2 = $active2.attr("rel") - 1;
//Устанавливаем дистанцию, на которую происходит единичная прокрутка
var slidedistance2 = slideid2 * contentwidth2;
//Удаляем активный класс
$(".contentnav2 a").removeClass('active2');
//Добавляем активный класс
$active2.addClass('active2');
//Анимация проскальзывания
$(".contentslider2").animate({
        left: -slidedistance2
    }, 500 );
}; 
 
//Устанавливаем время для проведения проскальзывания
rotation = function(){
play = setInterval(function(){
//Навигация следующего слайда
$active2 = $('.contentnav2 a.active2').next();
if ( $active2.length === 0) {
//Перемещаемся к первому слайду в навигации
$active2 = $('.contentnav2 a:first');
}
rotate();
//Таймер устанавливаем на 5 сек
}, 6000);
};
//Запускаем функцию вращения
rotation();
$(".contentnav2 a").click(function() {
$active2 = $(this);
clearInterval(play);
rotate();
rotation();
return false;
});
});


и файл со стилями style.css:
Код:
#wrapper {
	width:225px;
	overflow:visible;
}

#slider {
	position:relative;
	padding:0px;
	overflow:hidden;

}
.content1 {
	width:220px;
	padding:0px;
	margin-left:4px;
	margin-right:1px;
	top:65px;
	float: left;
	position: relative;
}
.inslider a {
	text-decoration:none;
}
.contentholder {
	height:324px;
	width: 225px;
	overflow: hidden;
	position: relative;
}
.contentslider {
	position: absolute;
	top: 0; left: 0;
}
.imgslider img {
	float: left;
}
.contentnav {
	position: absolute;
	bottom: 0px; left:0px;
	 height:30px;
	z-index: 100;
	text-align: center;
	line-height: 30px;
	border: 1px solid #000;
	border: 1px solid #000;
	padding:0px;
}
.contentnav a {
	padding: 5px;
	margin-left:0px;
	text-decoration: none;
	color: #7c7c7e;
}
.contentnav a.active {
	font-weight: bold;
	color:#FFF;
	background: #603;
}
Для решения этой проблемы я создал второй файд custom2.js и style2.css

В стилях поменял название каждого класса.
Да, и на странице пишу что-то такого плана:
Код:
<div style="width:225px; height:324px">
       <script src="custom2.js" type="text/javascript"></script>
<div id="wrapper2">
<div id="slider2">
<div class="inslider2">
    <!-- Контейнер контента  -->
<div class="contentholder2">
<div class="contentslider2">

<div class="content2">
<h1>Заголовок</h1>
<p>Текст</p>
</div>


<div class="content2">
<h1>Заголовок</h1>
<p>Текст</p>
</div>



<div class="content2">
<h1>Заголовок</h1>
<p>Текст</p>
</div>



<div class="content2">
<h1>Заголовок</h1>
<p>Текст</p>
</div>

</div>
</div>
<div class="contentnav2">
      <a rel="1" href="#">1</a>
       <a rel="2" href="#">2</a>
       <a rel="3" href="#">3</a>
       <a rel="4" href="#">4</a>
 </div>
</div>

</div>
</div>
</div>
(это был вызов для второго скрипта)
первый вызываю так же, только двоички убираю...

По отдельности все работает замечательно, как только я их объеденяю, работает только последний.
Как быть?

Да, и на заметку, знания Явы отвратителные, но с программированием дружу( C++, C#)

Я изменил файл со второй функцией, переименовал в нем глобальную переменную, ошибка осталась та же.
Теперь он имеет следующий вид:
$(document).ready(function fnc() {
//Активизируем первую ссылку
$(".contentnav2 a:first").addClass("active2");
//Ширина площади одной страницы
var contentwidth2 = $(".contentholder2").width();
//Обще количество страниц
var totalcontent2 = $(".content2").size();
//Общая ширина всего контента (всех страниц)
var allcontentwidth2 = contentwidth2 * totalcontent2;
//Проскальзывание контента устанавливаем на ширину, которую получили выше
$(".contentslider2").css({'width' : allcontentwidth2});
//Теперь пишем новую функцию для проскальзывания и навигации
rotate = function fnc(){
//Количество раз, на которое надо прокрутить контент
var slideid2 = $active2.attr("rel") - 1;
//Устанавливаем дистанцию, на которую происходит единичная прокрутка
var slidedistance2 = slideid2 * contentwidth2;
//Удаляем активный класс
$(".contentnav2 a").removeClass('active2');
//Добавляем активный класс
$active2.addClass('active2');
//Анимация проскальзывания
$(".contentslider2").animate({
        left: -slidedistance2
    }, 500 );
}; 
 
//Устанавливаем время для проведения проскальзывания
rotation = function fnc(){
play = setInterval(function fnc(){
//Навигация следующего слайда
$active2 = $('.contentnav2 a.active2').next();
if ( $active2.length === 0) {
//Перемещаемся к первому слайду в навигации
$active2 = $('.contentnav2 a:first');
}
rotate();
//Таймер устанавливаем на 5 сек
}, 6000);
};
//Запускаем функцию вращения
rotation();
$(".contentnav2 a").click(function fnc() {
$active2 = $(this);
clearInterval(play);
rotate();
rotation();
return false;
});
});

Последний раз редактировалось Kostyn4ick, 25.07.2010 в 15:36.
Ответить с цитированием
  #2 (permalink)  
Старый 25.07.2010, 01:03
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Это работа, и за нее обычно платят деньги.
Для таких сообщений предназначен раздел форума "Работа".

Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела.

ЗЫ про отладку на этом сайте вполне достаточно написано.как и про другие связанные вещи
Ответить с цитированием
  #3 (permalink)  
Старый 25.07.2010, 01:08
Интересующийся
Отправить личное сообщение для Kostyn4ick Посмотреть профиль Найти все сообщения от Kostyn4ick
 
Регистрация: 25.07.2010
Сообщений: 11

Сообщение от Gvozd Посмотреть сообщение
Это работа, и за нее обычно платят деньги.
Для таких сообщений предназначен раздел форума "Работа".

Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела.

ЗЫ про отладку на этом сайте вполне достаточно написано.как и про другие связанные вещи
На мой взгляд это не работа, а просьба помочь разобраться в проблеме, я описал выше действия, которые предпринимал, и увы уперся в "стену" незнания, и обратился за помощью сюда.
Ответить с цитированием
  #4 (permalink)  
Старый 25.07.2010, 09:49
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Kostyn4ick
уперся в "стену" незнания
программировать умеете?
значит должны уметь отлаживать.
или мне за вас отладить?
Ответить с цитированием
  #5 (permalink)  
Старый 25.07.2010, 11:36
Интересующийся
Отправить личное сообщение для Kostyn4ick Посмотреть профиль Найти все сообщения от Kostyn4ick
 
Регистрация: 25.07.2010
Сообщений: 11

Отлаживать умеем, вопрос не в работе скрипта, а в работе двух скриптов одновременно..Возможно здесь нужно применить что то вроде многопоточности в С++. Я не знаю нюансов этого языка. Если бы я мог сам справиться, я бы не напрягал людей зря.
Ответить с цитированием
  #6 (permalink)  
Старый 25.07.2010, 12:00
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Kostyn4ick
var contentwidth2
вот почему-то локальные переменные внутри функций ты переименовал, хотя они никак между собой не конфликтуют
Сообщение от Kostyn4ick
rotate = function(){
Сообщение от Kostyn4ick
rotation = function()
а вот глобальные функции, почему-то оставил одинаково названными.

а вот, если бы сел отлаживать, то ты бы увидел что в первый раз вызывается первая объявленный функция, а затем только вторая
Ответить с цитированием
  #7 (permalink)  
Старый 25.07.2010, 12:55
Интересующийся
Отправить личное сообщение для Kostyn4ick Посмотреть профиль Найти все сообщения от Kostyn4ick
 
Регистрация: 25.07.2010
Сообщений: 11

Да, я видел это, и даже пытался испоавить, когда во втором файле меняю function() на function2() например, скрипт перестает работать
Ответить с цитированием
  #8 (permalink)  
Старый 25.07.2010, 13:34
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Kostyn4ick
меняю function() на function2()
иди, блин, читай учебник по JS
развелось тут всяких.
это форум программистов JS
либо тех кто учится программировать на нем.
поэтому фразы типа "я не знаю JS, помогите мне" - не канают.

садись, и читай доки
Ответить с цитированием
  #9 (permalink)  
Старый 25.07.2010, 13:38
Интересующийся
Отправить личное сообщение для Kostyn4ick Посмотреть профиль Найти все сообщения от Kostyn4ick
 
Регистрация: 25.07.2010
Сообщений: 11

Сообщение от Gvozd Посмотреть сообщение
иди, блин, читай учебник по JS
развелось тут всяких.
это форум программистов JS
либо тех кто учится программировать на нем.
поэтому фразы типа "я не знаю JS, помогите мне" - не канают.

садись, и читай доки
Вам бы не помешало подучить правила общения с людьми, ведь я Вас не оскорблял и не грубил Вам, если вы не можете помочь, то не пишите здесь, я попросил помощи в данной задаче, а не совета как мне жить и что учить. Но все равно спасибо вам за то, что обратили внимание на мой пост. Удачи!
Ответить с цитированием
  #10 (permalink)  
Старый 26.07.2010, 10:48
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

$(document).ready(function() {

второй скрипт переопределяей функцию ready, поэтому и выполняеться только второй
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск js-функции на странице из скрипта Bazzilic Серверные языки и технологии 3 20.04.2010 09:53
Помогите чайнику. Два одинаковых скрипта на странице. VASH132 Общие вопросы Javascript 6 28.01.2010 15:42
Два одинаковых сценария на одной странице Genetics Общие вопросы Javascript 7 12.07.2009 01:46
Как запустить два одинаковых скрипта на странице? Dronch Общие вопросы Javascript 4 09.10.2008 13:42
Ссылка на якорь на странице во фрейме niculins Общие вопросы Javascript 2 24.09.2008 12:23