Jump to content
php.lv forumi
  • 0

if dialog box is open hide/show div


Question

Posted

Tātad šis ir skripts, kurš izskanē vai dialog box ir atvērts vai aizvērts, ja atvērts uzliek vienu divu un otram uzliek hide, ja nē tad atkal otrādāk -

 <script type="text/javascript">
$.fx.speeds._default = 1000;
$(function() {
 $( "#login" ).dialog({
title: "Delete or Bump Up your add",
resizable: false,
  autoOpen: false,
  show: "blind",
  hide: "blind"
 });
 $( "#opener" ).click(function() {
if ($("#login").dialog( "isOpen" ))
{
$('#but_up').hide();
$('#but_down').show();
  $('#login').dialog('close');
  }
 	else
  {
  $('#but_down').hide();
$('#but_up').show();
 	$( "#login" ).dialog( "open" );
 	}
  return false;
 });
});
</script>

 

Viss strādā labi, ja spiež ar pogu "View Ads", bet ja spiež X pašam dialog box'am, tad div'i nesamainās. Varbūt variet palīdzēt?

L.

15 answers to this question

Recommended Posts

  • 0
Posted

Kā tad man to kodu jāpārraksta, lai strādātu, tā kā vēlos, pašlaik gandrīz strādā, kā jau teicu, nestrādā tikai tas, ja nospiež nost dialog boxu ar X (pašam dialoga boksam), tad nenomainās div tagi.

  • 0
Posted (edited)

Ja uzspiež x, popups aizveras, bet nenomainās divs.

No šīm darbībām aizverot ar X notiek tikai boldā iezīmētā -

 <script type="text/javascript">
$.fx.speeds._default = 1000;
$(function() {
 $( "#login" ).dialog({
   	title: "Delete or Bump Up your add",
   	resizable: false,
  autoOpen: false,
  show: "blind",
  hide: "blind"
 });
 $( "#opener" ).click(function() {
   	if ($("#login").dialog( "isOpen" ))
   	{

$('#but_up').hide();

$('#but_down').show();

$('#login').dialog('close');

  }
   	else
  {
  $('#but_down').hide();
   	$('#but_up').show();
   	$( "#login" ).dialog( "open" );
   	}
  return false;
 });
});
</script>

Un nenotiek pasvītrotās, bet laikam tas ir tādēļ, ka man nav nekur pateikts, kas notiek ja uzspied X, jo man ir tikai patiekts, kas notiek, ja uzspiež linku ar id #opener.

Ceru uz palīdzību,

L.

Edited by laucinieks
  • 0
Posted

Tjip notiek...

 

$('#login').dialog('close');

 

Bet nenotiek:

 

$('#but_up').hide();
$('#but_down').show();

 

...?

 

Tu esi drošs, ka tajā brīdī, kad izpildās tas koda bloks... $('#but_up') un $('#but_down') eksistē?

  • 0
Posted (edited)

Jā 100%. Kā jau teicu, tas kods ir priekš viena linku view ads uz kura uzspiežot divs samainās un atverās dialog box, un nospiežot dialog box aizveras un div atkal samainās ar to viss strādā. Bet, tad kad atver ar to linku un grib aizvērt ar dialog box x, tad div tags nesamainās, bet vienkārši aizveras box. Vari paskatītieshttp://serenity.lv/lapa , paprovē atvērt un aizvērt ar linku your ads, un tad paprovē atvērt ar your ads un aizvērt ar X.

Edited by laucinieks
  • 0
Posted (edited)

Pamegini ko šādu..

$(".ui-dialog-titlebar-close ui-corner-all").click(function() {
  $('#but_up').hide();
  $('#but_down').show();
  $('#login').dialog('close');
});

Jo cik es sapratu no skripta, tad tu nekadu click eventu neesi licis tai "x" pogai..

 

Un btw pats megini debugot.. ieliec alertu taja if else.

Edited by nuclear
  • 0
Posted (edited)

Beidzat fantazēt šeit visādus caur d... variantus. dialogam ir close events uz kuru vari izpildīt to, ko vēlies:

 

Lasiet taču dokumentāciju: http://jqueryui.com/...og/#event-close

//Supply a callback function to handle the close event as an init option.
$( ".selector" ).dialog({
  close: function(event, ui) { ... }
});
//Bind to the close event by type: dialogclose.
$( ".selector" ).bind( "dialogclose", function(event, ui) {
 ...
});

Edited by codez
  • 0
Posted (edited)

Codez, tāpat nesanāk arī ar tavu variantu. Tieši tas pats.

 

Edit: Paveicu ar šādu variantu :) -

 $(".ui-dialog-titlebar-close").click(function() {
	$('#but_up').hide();
	$('#but_down').show();
});
 $( "#opener" ).click(function() {
if ($("#login").dialog( "isOpen" ))
{
$('#but_up').hide();
$('#but_down').show();
  $('#login').dialog('close');
  }
 	else
  {
  $('#but_down').hide();
$('#but_up').show();
 	$( "#login" ).dialog( "open" );
 	}
  return false;
 });

Edited by laucinieks
  • 0
Posted

Tev dialogs jāefinē vienā vietā un tur arī kā parametrus jādefinē dialoga eventus. Aizmirsti pat šajā gadījumā par kaut kādiem ifiem un vēl kautko.

1)Definē click eventu, kurā izveidos dialogu

2)Dialoga izveidē definē dialoga close eventu, kurā izpildīs to, ko tu vēlies.

 

P.S. Tavā pēdējajā piemērā nav pat close events definēts.

  • 0
Posted

Tev dialogs jāefinē vienā vietā un tur arī kā parametrus jādefinē dialoga eventus. Aizmirsti pat šajā gadījumā par kaut kādiem ifiem un vēl kautko.

1)Definē click eventu, kurā izveidos dialogu

2)Dialoga izveidē definē dialoga close eventu, kurā izpildīs to, ko tu vēlies.

 

P.S. Tavā pēdējajā piemērā nav pat close events definēts.

Ko tu gaidi no cilveka, kas maz ko saprot no jQuery. :)

  • 0
Posted (edited)

Labi, te būs priekšā, bet mēģini saprast, kas tur notiek.

 

http://jsfiddle.net/hBM6Y/

 

$('#btn').click(function(){
$('#panel1').hide();
$('#panel2').show();
$('<div>hi</div>').dialog({
 title:'hi',
 close:function(){
  $('#panel1').show();
  $('#panel2').hide();
 }
});
});

Tātad,

$('#btn').click(function(){  

definē pogas nospiediešanas eventu

 

$('<div>hi</div>').dialog({

izveido jaunu dialogu

 

close:function(){

ir dialoga close events, kurš tiek definēts.

Edited by codez
  • 0
Posted

Tavā piemērā viss strādā labi, bet spiežot click me pēc fialoga loga atvēršanās viņš nevis aizver iepriekšējo logu, bet atver vēl vienu pa virsu, bet tā laikam sāku saprast :).

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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.

Loading...
×
×
  • Create New...