![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Cheizer |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Дорогие друзья, нужна очень ваша помощь, ума не приложу как реализовать следующую задачу, есть JQUERY табы, список переключает табы, в которых видео с youtube, вставлено как iframe.
Если в одном табе запустить видео, и не останавливая его переключить на другой таб, то оно продолжает играть в закрытом табе, и это треш
|
|||
|
||||
| sQu1rr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 2 Всего: 13 |
На stackoverflow всегда есть ответ
http://stackoverflow.com/questions/8667882...ding-the-iframe
|
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 17 Всего: 137 |
Если лень лезть в Youtube API, то неужели было лень залезть в Гугл? 2 ссылка выдает ответ на ваш вопрос.
|
|||
|
||||
| sQu1rr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 2 Всего: 13 |
Ну разумеется это только пример, селектить правильные айфремы и биндить ивенты к табам придется самому. если что не получится - рад помочь
|
|||
|
||||
| Cheizer |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Спасибо, но JS вообще сложно, я на JQUERY хочу сделать, да видел я много чего, но там не понятно для меня, и большинство решений на JS чистом, а это треш для меня,
Пытаюсь сделать как то так, хочу логику: по клику на табе, получаю id таба из атрибута href, так как этот же id и у div с iframe с видео, далее, очищаю все iframe кроме того на таб которого кликнул. Но ничего не получается то что задумано
|
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 17 Всего: 137 |
Cheizer, вы пишите глупости! jQuery -это лишь кроссбраузерная оболочка над некоторыми популярными практиками в JS. Не все вещи можно сделать только в синтактисе jQuery, т.к. если решение довольно уникальное - его нет и не может быть в jQuery. Суть решения в том, чтобы послать в iframe postMessage запрос. И все. Выше был приведен как полностью рабочий код (с демо странцией на jsfiddle), так и описание того как это работает (на английском). Если лдя вас это слишком сложно - либо разбирайтесь, спрашивая здесь что не понятно, либо наймите профессионала.
Кстати, на форуме запрещено ругательные выражения, я отредактировал ваш пост. |
|||
|
||||
| Cheizer |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Я прихожу сюда за конструктивной помощью, а не критикой, скажите, вы можете мне помочь??? Если нет, пожалуйста, не вмешивайтесь. Ссылками кидаться это не дело для форума, я пришел сюда за помощью и за объяснением, не критикуйте если не предлагаете ничего конкретного, погуглить я и сам могу, что и делаю всегда в первую очередь, но разобраться прихожу сюда и не первый раз! И всегда мне здесь помогают люди знающие. Это сообщение отредактировал(а) Cheizer - 29.10.2014, 16:56 |
|||
|
||||
| sQu1rr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 2 Всего: 13 |
Сэр, вы ошибаетесь Никто вас не критикует, вы напишите что не получается. Решать за вас, тоже не для этого форума. Тот код что вы привели, даже не собирается никак пытаться ничего делать с плеером. Вот вы попытайтесь а мы покритикуем поможем и объясним что непонятно Это сообщение отредактировал(а) sQu1rr - 29.10.2014, 16:56 |
|||
|
||||
| Cheizer |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Я же уже писал! Еще раз, ибо все умные тут, а я глупый глупости пишу, вот глупости еще раз!
Пытаюсь сделать так, логика: по клику на табе, получаю id таба из атрибута href, так как этот же id и у div с iframe с видео, далее, очищаю все iframe кроме того на таб которого кликнул. Но ничего не получается то что задумано) что не так?
|
|||
|
||||
| sQu1rr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 2 Всего: 13 |
||||
|
||||
| Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 17 Всего: 137 |
У ссылок в атрибуте href содержится #tabs-N, значит в вашей переменной vid при клике на первую ссылку будет строка #tabs-1. Если бы вы сделали dump в консоль, например, вы могли бы в этом убедиться.
Далее, селектор 'div:not(vid)' - что вы хотите тут получить? Все дивы, кроме текущего активного? Логично. Только опять же таки, если бы вы сами дебажили свой же код - вы бы увидели, что в коллекции по такому селектору пустой массив - то есть элементов не найдено. Возможно, тогда бы вы догадались сами, что что-то не так. А именно - у вас vid это переменная js, а вы ее хотите подставить прямо в строку селектора (см. sizzle.js). Нужно хотя бы так было сделать:
Но и тут бы вас ждало разочарование. А все потому, что нужно зайти в мануал и прочесть, что же такое этот :not() и что туда можно запихать. Он принимает на вход селектор. А у вас есть строка с ID. Там же в документации сказано, что при переменных данных лучше использовать не псевдоселектор :not(), а метод .not(). Он может принимать как селектор, так и элемент сразу. Таким образом код можно было бы упростить до такого:
Я конечно промолчу (ведь глупости-то пишу я, оказывается), что ваш код слишком абстрактный и проходится по всем дивам на страничке, правильней было бы ограничить траверсинг каким-то классом. Только дальше встает вопрос резонный. Зачем вы хотите вызвать метод .empty()? Он же удалит iframe, конечно решив вашу проблему с воспроизведением неактивного видео, но повторно туда уже будет не вернуться. Правильное решение - посылка postMessage, о которой я говорил выше. Надеюсь я вам максимально просто и полно ответил на ваш вопрос, и вы более не против моего присутствия в этом топике. Аминь |
||||
|
|||||
| sQu1rr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 2 Всего: 13 |
Согласен со всем что написано, но немного не понял смысла этой фразы
Это же тоже селектор, а значит все будет работать по задумке автора, вот только непонятно, что он собирается увидеть, когда нажмет на следующий таб Добавлено через 5 минут и 25 секунд В вашем коде this - это ссылка <a> а не div, поэтому мимо :( |
|||
|
||||
| Cheizer |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Спасибо большое ребята, теперь начинаю понимать, и конкатенацию смотрел, всегда ищу примеры, и если в доках их нет, я все равно не понимаю, сложно еще тех доки понимать. С конкатенацией понял, исправил. Добавил атрибут data к ссылке что бы id забирать чистый, без # И согласен с вами по поводу возврата на предыдущую вкладку, empty() рубит все.
Это сообщение отредактировал(а) Cheizer - 29.10.2014, 18:41 |
||||||||
|
|||||||||
| sQu1rr |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 2 Всего: 13 |
Что это?
Если vid = tabs-1, то это будет выглядить
Что значит будет искать все <div> которые не <tabs-1> (серьезно) внутри <div id="tabs-1"> Вы уж используйте то что посоветовал мр. Aliance
Или что-то подобное, вообще желательно всем <div> с которыми будете работать дать класс, а то, по добавлению (не относящихся к делу) <div> вы их селектить и чистить будуте тоже. Это сообщение отредактировал(а) sQu1rr - 29.10.2014, 19:03 |
||||||
|
|||||||
| Cheizer |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Спасибо, решил сделать так, в самих iframe атрибут SRC оставил пустыми, а сами ссылки на видео перенес в созданный новый атрибут URLVIDEO у самого тега A, и по клику забираю видео и заполняю соответствующий ID атрибут SRC у IFRAME, но млять почему не заполняется атрибут SRC у IFRAME не пойму :( что не так на этот раз?
|
||||||||||
|
|||||||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |