Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Закрыть блок (https://javascript.ru/forum/dom-window/13781-zakryt-blok.html)

Kauperwood 13.12.2010 16:00

Закрыть блок
 
Здравствуйте. Помогите пожалуйста разобраться, у меня есть небольшой скрипт который выводит из пхп файла через свич контент в новых окнах.
lib.js
$(document).ready(function(){
	var loading = $("#loading");
	var container = $("#ajax");
        var container2 = $("#ajax2");
	var link;

	$("a.ajax-links").click(function(e){
		
		e.preventDefault();
 		container.slideUp(75);
                container.toggle(1500);
		link = $(this).attr("href") + " #content";
		container.load(link, hideLoading);
		container.slideDown(75);  
	});
        $("a.ajax-links2").click(function(e){
		
		e.preventDefault();
 		container2.slideUp(75);
                container2.toggle(1500);
		link = $(this).attr("href")+ " #content";
		container2.load(link, hideLoading);
		container2.slideDown(75); 
                
	});  
        $("a.ajax-close").click(function(){
        ????????????????????????????
        });  
                
		
	function showLoading(){
		loading
			.css({visibility:"visible"})
			.css({opacity:"1"})
			.css({display:"block"})
		;
	}
	function hideLoading(){
		loading.fadeTo(1000, 0);
	};
        
});

index.php
<ul id="menu">
                             
<li><a href="index.php?action=1" class="ajax-links2">конт</a></li> 
<li><a href="index.php?action=2" class="ajax-links2">услуги</a></li>
<li><a href="index.php?action=3" class="ajax-links2" >цены</a></li>
</ul>
<div id="ajax2"></div>
<div id="ajax"></div>
<div id="content">
<?php include("callbacks.php");?>		
</div>

callbacks.php
<?php

     switch($_GET['action']){
     case '1':
      ?>
     <div class="green">
     </div>
     <?
		break;
default:
	?> 
     <div class="green">
    <a href="index.php?action=1" class="ajax-links">посмотреть</a>
     </div>
     <?
     if (isset($_GET['action']))
     {
          $to = $_GET['action'];
          if (strpbrk($to, '.?/:*<>')) die('символы ., ?, /, :, *, <, > запрещены');

}
}


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

bushstas 15.12.2010 18:56

$("a.ajax-close").click(function(){ 
       $("#ajax").fadeTo(1000, 0);
   }); 
 $("a.ajax-close2").click(function(){ 
       $("#ajax2").fadeTo(1000, 0);
   });

так наверное
сложно сказать когда не видишь что там за окна )))

тогда по логике добавить в функцию
$("a.ajax-links").click(function(e){

вот это
$("#ajax").fadeTo(1000, 1);

иначе потом они не будут появляться так как они прозрачные

Kauperwood 15.12.2010 20:00

Да) ясно что так можно делать, в моем случае это скорее slideUp().
С внешней кнопкой тут зебр гуд.
Прошу прощения но так вышло, что когда создавал тему не упомянул о том что эти окна как раз не закрываються из себя, - тоесть если я кладу ссылку c классом ajax-close в блок .green или даже не в него, но в collbacks.php то ничего не происходит.

Kauperwood 19.12.2010 14:24

почему так? почему не работает javascript через пхп? что я не так делаю?

Kauperwood 27.12.2010 06:59

вообщем я не жалуюсь но можно бы было подсказать что нужно было использовать метод $().live('click',function{}); и свежую версию jquery.
тема закрылась...

x-yuri 27.12.2010 08:23

только не забывай указывать контекст

Kauperwood 28.12.2010 12:53

Цитата:

Сообщение от x-yuri (Сообщение 85395)
только не забывай указывать контекст

Спасибо буду пробовать.


Часовой пояс GMT +3, время: 08:38.