Jump to content
  • 0

Ссылка на елемент сайта


pudge
 Share

Question

В прошлой теме мне помогли создать спойлер:

<a href="javascript:;" class="videoA">klick</a><div class="videoJS">скрытый текст</div><script>$(".videoA").click(function () {$(this).next(".videoJS").toggle();$(this).toggleClass("active");return false; });</script>

который отлично работает,которого на странице у меня более 20 штук,но вот я увидел что не все так хорошо как хотелось бы...

 

Когда по спойлеру нажимаешь ПКМ и копировать адрес страницы,то оно копирует javascript:; а не адрес самого спойлера на этой странице.Аналогичное я видел с постами,ну когда на форумах нажимаешь пкм на номер поста,копировать адрес ссылки и копируется адрес текущей страницы и вконце приписывается /#3 например.

 

Вот мне нужно что то подобное что идентифицировало бы каждый спойлер как "отдельный пост" но как это осуществить(или с помощью чего)я пока не знаю...

Link to comment
Share on other sites

Recommended Posts

  • 0

Вместо a используй другой тег, тогда не придётся прописывать адрес ссылки, копироваться тоже, соответственно, он не будет.

за совет использовать другой тег спасибо,я уже и забыл что href можно использовать не только с тегом а,но вот вторая часть поста(выделил)стремная... и не понятная

Link to comment
Share on other sites

  • 0

Что тут непонятного? Ты ведь сам написал: "Когда по спойлеру нажимаешь ПКМ и копировать адрес страницы,то оно копирует javascript:; ". Если спойлер делается не через <a>, то копироваться адрес страницы не будет.


Ах, да, потренируйся перед зеркалом произносить элемент через Э. Много раз.

Link to comment
Share on other sites

  • 0

Что тут непонятного? Ты ведь сам написал: "Когда по спойлеру нажимаешь ПКМ и копировать адрес страницы,то оно копирует javascript:; ". Если спойлер делается не через <a>, то копироваться адрес страницы не будет.

 

Теперь понял что вы написали,но вы не поняли сути этой темы,мне наоборот нужно что бы адрес спойлера можно было копировать,что бы у спойлеров был адрес ссылки,причем у всех разный(но это уже другой вопрос).

например адрес страницы blablabla.ru/kkk на этой странице штук 50 спойлеров,и например что бы у первого спойлера был адрес blablabla.ru/kkk#1 или что то вроде этого,я просто не знаю как такая ссылка называется и как её сделать...

Link to comment
Share on other sites

  • 0

Якорь на спойлер получилось повесить,но сам спойлер перестал открыватся,почему?

 

В общем вот как все у меня выглядит:

<a href="#1" name="1"><div href="javascript:;" class="videoA"><ul class="videoUL"><li class="titleMOVIES">11111</li><li class="dateMOVIES">07 Сен 2011 г.</li></ul></div></a><div class="videoJS">скрытый текст</div><script>$(".videoA").click(function () {      $(this).next(".videoJS").toggle();      $(this).toggleClass("active");      return false; });</script>
Link to comment
Share on other sites

  • 0

Потому что клик срабатывает на якорь, а не на слой.

 

под слоем я так понял вы подразумеваете спойлер?ну хорошо,а как тогда сделать так что бы клик срабатывал и на "слой" и на якорь одновременно?

Link to comment
Share on other sites

  • 0

Необходимо исправить верстку, убрав лишнее. У нас есть ссылка. Зачем использовать слой со схожим функционалом? Добавим магический класс disabled, который будет управлять отображением спойлера. Если js не загружается или отключен, все спойлеры раскроют вложенные данные. Поперчим красивым оформлением. Наш велосипед готов.

 

http://jsfiddle.net/Radiocity/VFmd9/

Edited by Radiocity
Link to comment
Share on other sites

  • 0

Radiocity #11 шикарна!!!11

 

Вот только ещё бы один момент,как сделать что бы при переходе на ссылку какогото из спойлеров например file://localhost/C:/Documents%20and%20Settings/Jenya/Рабочий%20стол/test/test.html#anch2  не просто открывалась эта страница,а что бы ещё на ней открывался спойлер по которому ссылаются,такое возможно осуществить?

Link to comment
Share on other sites

  • 0

В момент загрузки скрипта, когда "сворачиваете" все спойлеры, проверяете значение якоря. Если существует спойл с таким же id, то его оставляете раскрытым. Окно браузера само прыгнет до нужного места на странице.

Потребуется узнать якорь, который передается в URL. Для этого в браузерах существует свойство location.hash.

Edited by Radiocity
Link to comment
Share on other sites

  • 0

В момент загрузки скрипта, когда "сворачиваете" все спойлеры, проверяете значение якоря. Если существует спойл с таким же id, то его оставляете раскрытым. Окно браузера само прыгнет до нужного места на странице.

Потребуется узнать якорь, который передается в URL. Для этого в браузерах существует свойство location.hash.

а можно простыми словами?

Link to comment
Share on other sites

  • 0

Если бы Вы разобрались с кодом, который представлен, то все бы было понятно.

 

 

так я и разобрался в коде,но в вашем посте #13 я мало что понял(на то он и и 13-й).

 

Я понял что спойлер должен менятся на $(".videoB").toggleClass("enabled"); во время перехода по ссылке,но как это сделать не знаю,а в вашем лок. не смог разобратся,точнее суть я понял из статьи но так как яваскрипт не учил я не могу осуществить window.location у себя.

Link to comment
Share on other sites

  • 0

Я понял что спойлер должен менятся на $(".videoB").toggleClass("enabled");

Нет. Откуда Вы вообще взяли .enabled? Просто не устанавливается флаг .disabled для активного элемента. Это достигается сравнением id спойлера и значением location.hash.

суть я понял из статьи но так как яваскрипт не учил я не могу осуществить window.location у себя.

Jquery - это js фреймворк. Изучайте js.

Edited by Radiocity
Link to comment
Share on other sites

  • 0

 

Я понял что спойлер должен менятся на $(".videoB").toggleClass("enabled");

Нет. Откуда Вы вообще взяли .enabled?

 

 

Ну если стоит enabled то спойлер изначально открытый,вот мне и нужно что бы при переходе по адресу спойлера(например #anch2)спойлер был открытым,поэтому и пришло мне в голову это... как сделать что бы при переходе на адрес спойлера,он становился открытым?

Link to comment
Share on other sites

  • 0

Вы ждете кода? Его не будет. Алгоритм уже описан.

Где?Если вы описали алгоритм в посте #13 то прочитайте сами свой пост и задумайтесь,как может новичек понять что вы написали?

Потребуется узнать якорь, который передается в URL. Для этого в браузерах существует свойство location.hash.

 

перечитал ту статью уже второй раз,вроде и понял всю суть,но по примеру осуществить у себя никак не могу,вот второй пример из статьи:

 

 

function sendData(dat)

{

window.location.search = dat;

}

мне следует заменить search на hash верно?но а что дальше делать я не зна...................

Link to comment
Share on other sites

  • 0

думай чё... А то так весь сайт за тебя сделают

Вот именно, как я поглядел он одни топики создает 1 за другим...

так любой может...

 

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

А не думая каждый пост писать, у меня это не получается, это почему, это как....

  • Like 1
Link to comment
Share on other sites

  • 0

думай чё... А то так весь сайт за тебя сделают

 

Я и не прошу готовый код,я б с удовольствием выучил то что помогло бы решить данную задачу(напомню открытый спойлер на которой перешли по ссылке),но я прошу что бы мне хотя бы сказали что именно учить,не садится же учить джаваскрипт с первой главы и до последней(или пока не наткнусь на то что нужно)..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy