Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическая обработка c jQuery, Подскажите как правильно обработать 
V
    Опции темы
finogeev
  Дата 12.8.2009, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 5.3.2007

Репутация: нет
Всего: нет



Случаев где необхоимо применить данный способ у меня куча ... но из-за отсутсвия опыта я все далаю вручную и каждую операцию и действие описывая для каждого объекта - хотя это не правильно !!!

Вообщем вот простой пример !
Из базы вывыливаются какие то любыю значения, к примеру ссылки для меню, которые генерируются с уникальным id вида:
Код

    <a href="#" id="link_menu1" class="menu">Menu1</a>
    <a href="#" id="link_menu2" class="menu">Menu2</a>
    <a href="#" id="link_menu3" class="menu">Menu3</a>
    <a href="#" id="link_menu4" class="menu">Menu4</a>


Раньше просто прописывл для каждого пункта отдельное действие, но как то можно же это сделать одним кодом:
Код

$(document).ready(function() { 

   $("#link_menu1").click(function(){
        $(".work_div").animate({"left": "-700px"}, "fast");
        $("#general").animate({"left": "0px"}, "fast");
        $(this).css("background-color","#f6f9ad");

    })

    $("#link_menu2").click(function(){
        $(".work_div").animate({"left": "-700px"}, "fast");
        $("#noyting").animate({"left": "0px"}, "fast");        
        $(this).css("background-color","#f6f9ad");
    
    });

......  и т.д.


Я не прошу какого то конкретного решения, просто можете направить меня на путь smile

Это сообщение отредактировал(а) finogeev - 12.8.2009, 08:21
PM MAIL ICQ   Вверх
skyboy
Дата 12.8.2009, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



у тебя же класс указан, ёпта!
Код

   $("#a.menu").click(function(){
        $(".work_div").animate({"left": "-700px"}, "fast");
        $("#general").animate({"left": "0px"}, "fast");
        $(this).css("background-color","#f6f9ad");
    })

PM MAIL   Вверх
finogeev
Дата 12.8.2009, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 5.3.2007

Репутация: нет
Всего: нет



Ну тогда уж надо вот так указать 

Код

 $("a.menu").click(function(){



Неее может я просто не приавольно все описал, а точнее не полностью ...
У меня менюс формируется, при нажатии на меню вываливаются нудные дивы ...

сейчас код выглядит так:
Код

    $("a.inner_menu").click(function(){
        $(this).css("background-color","#f6f9ad");
        $( ..не знаю как определить.. ).animate({"left": "0px"}, "fast");        
    })


Вот как мне сделать что открывлся нужный мне див цифровой итендификатор айдишки что у линка что у два одинаков  ...
Что должнл быть тут $( .... ).animate({"left": "0px"}, "fast");
Код


<div class="right_innermenu"> 
<a href="#" id="menu_inner1" class="inner_menu">меню1</a>
<a href="#" id="menu_inner2" class="inner_menu">меню2</a>
<a href="#" id="menu_inner3" class="inner_menu">меню3</a>
</div> 


<div id="my_div1" class="work_div">  ...... </div>
<div id="my_div2" class="work_div">  ...... </div>
<div id="my_div3" class="work_div">  ...... </div>


или может поменять структуру формаирлования сслок и дивов ... Я просто не могу разобраться с нужным мне селектором !

Это сообщение отредактировал(а) finogeev - 12.8.2009, 12:17
PM MAIL ICQ   Вверх
finogeev
Дата 12.8.2009, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 5.3.2007

Репутация: нет
Всего: нет



Ну подскажите кто нибудь :(
PM MAIL ICQ   Вверх
skyboy
Дата 12.8.2009, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Цитата(finogeev @  12.8.2009,  08:49 Найти цитируемый пост)
Ну тогда уж надо вот так указать 

да, диез не удалил :(
Цитата(finogeev @  12.8.2009,  08:49 Найти цитируемый пост)
Вот как мне сделать что открывлся нужный мне див цифровой итендификатор айдишки что у линка что у два одинаков  ...

ну, теперь ведь вопрос выглядит совсем по-другому :-/
Код

 $("a.inner_menu").click(function(){
        $(this).css("background-color","#f6f9ad");
        $("#" + this.id.replace(/menu_inner/,'my_div') ).animate({"left": "0px"}, "fast");        
    })

PM MAIL   Вверх
finogeev
Дата 12.8.2009, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 5.3.2007

Репутация: нет
Всего: нет



 smile  спасибо конечно, но теперь я ничего не понимаю в данном селлекторе, что это такое и как с ним быть ?
this.id.replace(/menu_inner/,'my_div')


PM MAIL ICQ   Вверх
finogeev
Дата 12.8.2009, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 5.3.2007

Репутация: нет
Всего: нет



короче ничего не получилось сделат ьмаленьким одинм кодом ...
пришлось к каждой счсылки добавлять onclick и каждому автоматом формировать js код ...

Пока решения нет буду использовать так, может всетаки кто нибудь подскажет, а то при меню в 25 позиций код просто ужасно смотрится с постоянно дублирущей информацией :(
PM MAIL ICQ   Вверх
skyboy
Дата 12.8.2009, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Цитата(finogeev @  12.8.2009,  12:59 Найти цитируемый пост)
но теперь я ничего не понимаю в данном селлекторе, что это такое и как с ним быть ?

ну, берется id текущего элемента(в строковом представлении) и меняется строка "menu_inner" на "my_div". т.е. в jquery должно передаться "#my_div1" при клике по "menu_inner1". наверное, я опять где-то опечатался, но код должен работать smile

Добавлено через 1 минуту и 45 секунд
селектором-то параметр является с "точки зрения" библиотеки jQuery и программиста, а с точки зрения javascript - это просто строковое значение, которое можно соединять, обрезать или делать в нем замену.
PM MAIL   Вверх
unicross
Дата 12.8.2009, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 6
Всего: 53



finogeev, skyboy же уже все расписал...

Код

<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<style>
.work_div { position:absolute; left:-700px; top:50px; width: 500px; height: 100px; background-color:silver; }
</style>
<script type="text/javascript">
<!--
$(document).ready(function() {
   $("a.inner_menu").click(function() {
      $("div.work_div").animate({"left": "-700px"}, "fast"); 
      $("a.inner_menu").css("background-color","#ffffff");
      $(this).css("background-color","#f6f9ad");
      $("#" + this.id.replace(/menu_inner/,'my_div')).animate({"left": "5px"}, "fast"); 
      return false;
   });
});
//-->
</script>
</head>
<body>
<div class="right_innermenu"> 
<a href="#" id="menu_inner1" class="inner_menu">меню1</a>
<a href="#" id="menu_inner2" class="inner_menu">меню2</a>
<a href="#" id="menu_inner3" class="inner_menu">меню3</a>
</div> 
<div id="my_div1" class="work_div">Это div1</div>
<div id="my_div2" class="work_div">Это div2</div>
<div id="my_div3" class="work_div">Это div3</div>
</body>
</html>



PM MAIL WWW   Вверх
finogeev
Дата 13.8.2009, 07:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 5.3.2007

Репутация: нет
Всего: нет



Извените, вот такой я долгий :( ....
Спасибо skyboy за решение, а unicross за рабочйи пример образца !!! Спасибо 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0489 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.