Jump to content

Рскрытие-Закрытие Блока По Клику.


petrovich
 Share

Recommended Posts

Здравствуйте Уважаемые форумчане.

Пришёл к Вам в надежде на помощь, ибо сам уже мозги сломал с этим javascript.

Есть форум на phpBB за валидность которого мы с малыми успехами боремся, сделана валидной индексная страница, страница просмотра списка тем. Сейчас боремся со страницей просмотра сообщений темы.

На странице сообщений основные ошибки которые мы не можем победить даёт скрипт скрытия-показа информации в блоке.

Если образно то под аватарой пользователя есть кнопка-изображение по клику на которую с плавным эффектом выезжает вертикально текстовая информация, при повторном клике информация так же плавно уезжает. По умолчанию блок скрыт

style="display: none;

что очень очень не гут. (

Выглядит это примерно вот так(просьба детей и людей со слабой психикой убрать от экрана):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ru-ru" xml:lang="ru-ru">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>title</title>

<script type="text/javascript">
// <![CDATA[
jQuery(document).ready(function(){
jQuery('img').click(function(e){
var img = jQuery(e.target);
var div = img.parent().next('div#first');
if(div.length > 0) {
if (div.css('display') == 'none'){
div.show('slow', function(){
img.attr('src', 'images/dopinfo_up.gif');
});
}
else{
div.hide('slow', function(){
img.attr('src', 'images/dopinfo_down.gif');
});
}
}
});
});
</script>
// ]]>
</script>

</head>
<body>
<span><img src="images/dopinfo_down.gif" id="toggleimg" style="cursor:pointer;"/></span>
<div id="first" style="display: none;">
<span class="postdetails">
<!-- содержимое -->
<!-- содержимое -->
<!-- содержимое -->
<!-- содержимое -->
<!-- содержимое -->
<!-- содержимое -->
<!-- содержимое -->
<!-- содержимое -->
<!-- содержимое -->
<!-- содержимое -->
<!-- содержимое -->
</span>
</div>
</body>
</html>

Побродивши некоторое время по htmlbook нашёл вот такой вот скриптик:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ru-ru" xml:lang="ru-ru">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>Template</title>

<style type="text/css">
div.submenu {
background: #00AA00;
overflow: hidden;
width: 200px;
}
</style>

<script type="text/javascript">
// <![CDATA[
var timeoutID = 0;
var currentHeight = 0;
function dropDwn() {
if (currentHeight < maxMenuHeight) {
currentHeight += 5;
scroll_menu.style.height = currentHeight.toString() + "px";
} else {
window.clearInterval(timeoutID);
timeoutID = 0;
}
}
function dropBack() {
if (currentHeight > 5) {
currentHeight -= 5;
scroll_menu.style.height = currentHeight.toString() + "px";
} else {
scroll_menu.style.height = "0px";
window.clearInterval(timeoutID);
timeoutID = 0;
currentHeight = 0;
}
}
function show(linkobj) {
if (timeoutID != 0) {window.clearInterval(timeoutID);}
linkobj.parentNode.innerHTML="<a href='#' onclick='hide(this);'>Collapse menu</a>";
timeoutID = window.setInterval("dropDwn()", 10);
}
function hide(linkobj) {
if (timeoutID != 0) {window.clearInterval(timeoutID);}
linkobj.parentNode.innerHTML="<a href='#' onclick='show(this);'>Expand menu</a>";
timeoutID = window.setInterval("dropBack()", 10);
}
// ]]>
</script>

</head>

<body>
<div><a href="#" onclick="show(this);">Expand menu</a></div>
<div class="submenu" id="scrollMenu">
<a href="#">Lorem</a><br />
<a href="#">ipsum</a><br />
<a href="#">dolor</a><br />
<a href="#">sit</a><br />
<a href="#">amet</a>
</div>

<script type="text/javascript">
// <![CDATA[
var scroll_menu = document.getElementById("scrollMenu");
var maxMenuHeight = scroll_menu.offsetHeight;
scroll_menu.style.height = "0px";
// ]]>
</script>

</body>

</html>

В дополнению к скрипту что выше найден ещё один скриптик с кнопкой которая как мне кажется ну обязана быть у нас.

Второй скрипт с кнопкой залит на народ

Человек у которого руки растут не оттуда откуда у нас, откликнись!!! Помоги решить проблему.

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

Для связи личка, ася: 40-ноль-6-четыре-65-шесть-1, скайп: desmond9903

Форумчане не проходите мимо горя, помогите. Не допустите бан форума на http://validator.w3.org/

А то чувствуется что это скоро случится, валидатор корёжит и корчится проверяя нас...

Спасибо всем кто откликнется.

up: Христос Воскресе!

Edited by petrovich
  • Like 1
Link to comment
Share on other sites

Вот он, славный идальго Дон Кихот Ламанчский нашего времени, борящийся с ветряными мельницами.

Если все же вы решили не оставлять шансов мельнице, то есть форуму, то могу помочь со скриптом.

кто вам сказал что:

style="display: none;

есть очень не гуд ?

Покажите мне хоть один форум проходящий проверку на валидность.

  • Like 1
Link to comment
Share on other sites

 Share

  • Обсуждения

    • Актуальные контакты: Telegram: @Nikker_web E-Mail:   tarasevich.email@gmail.com Портфолио https://www.behance.net/d4d4186e Разрабатываю дизайн групп в соц сетях, сайтов, приложений, другой дизайн под заказ    
    • Актуальные контакты: Telegram: @Nikker_web E-Mail:   tarasevich.email@gmail.com   Разрабатываю дизайн групп в соц сетях, сайтов, приложений, другой дизайн под заказ   Портфолио https://www.behance.net/d4d4186e
    • Доброго всем времени суток. Прошу помощи. Научите принципу изменения футера. Движок Xenforo. Версия 2.2.10. Стиль дефолтный. Что именно нужно в итоге на фото примере. Мой шаблон app.footer less имеет следующее значение.  .p-footer { .xf-publicFooter(); a { .xf-publicFooterLink(); } } .p-footer-inner { .m-pageWidth(); .m-pageInset(); padding-top: @xf-paddingMedium; padding-bottom: @xf-paddingLarge; } .p-footer-row { .m-clearFix(); margin-bottom: -@xf-paddingLarge; } .p-footer-row-main { float: left; margin-bottom: @xf-paddingLarge; } .p-footer-row-opposite { float: right; margin-bottom: @xf-paddingLarge; } .p-footer-linkList { .m-listPlain(); .m-clearFix(); > li { float: left; margin-right: .5em; &:last-child { margin-right: 0; } a { padding: 2px 4px; border-radius: @xf-borderRadiusSmall; &:hover { text-decoration: none; background-color: fade(@xf-publicFooterLink--color, 10%); } } } } .p-footer-rssLink { > span { position: relative; top: -1px; display: inline-block; width: 1.44em; height: 1.44em; line-height: 1.44em; text-align: center; font-size: .8em; background-color: #4682B4; border-radius: 2px; } .fa-rss { color: white; } } .p-footer-copyright { margin-top: @xf-elementSpacer; text-align: center; font-size: @xf-fontSizeSmallest; } .p-footer-debug { margin-top: @xf-paddingLarge; text-align: right; font-size: @xf-fontSizeSmallest; .pairs > dt { color: inherit; } } @media (max-width: @xf-responsiveMedium) { .p-footer-row-main, .p-footer-row-opposite { float: none; } .p-footer-copyright { text-align: left; padding: 0 4px; // aligns with other links } }  
    • Нужны сайты с примерами верстки, типа https://css-tricks.com/. Типовые приемы и нестандартные на все случаи жизни. Накидайте ссылок.
×
×
  • 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