[Proto-Scripty] Re: Effect.Fade and Effect.Appear
Correction (but still untested): $$('a.ajaxable').invoke('observe', 'click', handleAjaxClick); -Hector On Wed, Oct 8, 2008 at 11:09 AM, Hector Virgen [EMAIL PROTECTED] wrote: I'm not sure how you'd do this with CakePHP's helper, but I think the basic idea is you want to set up an observer for onclick that does two things: Effect.Fade() and Ajax.Request(). When you instantiate the Ajax.Request object, add an OnComplete callback that makes the element appear again. If you want to use this in the callback, you will need to bind it to the callback function. In Javascript, it would go something like this (please note this is untested): function handleAjaxClick(event) { var anchor = event.findElement('a'); var url = anchor.readAttribte('href'); new Effect.Fade(anchor); new Ajax.Request(url, { onComplete: function() { new Effect.Appear(this); }.bind(anchor) }); } $$(a.ajaxable).invoke('observe', 'click', handleAjaxClick); I hope this helps. -Hector On Wed, Oct 8, 2008 at 8:43 AM, Arak Tai'Roth [EMAIL PROTECTED]wrote: Are you able to help me with this? On Oct 6, 8:28 pm, Arak Tai'Roth [EMAIL PROTECTED] wrote: You got it: On Oct 6, 5:38 pm, Hector Virgen [EMAIL PROTECTED] wrote: So on click you want it to fade, and when the Ajax request is completed you want it to appear? On Mon, Oct 6, 2008 at 4:29 PM, Arak Tai'Roth [EMAIL PROTECTED]wrote: Anybody feel like helping me? I asked around the CakePHP group and they say it's a Javascript error, so just checking back in here for some help on this issue. On Sep 25, 11:45 pm, Arak Tai'Roth [EMAIL PROTECTED] wrote: So I am using the prototype and scriptaculous on my webpage that I am designing with CakePHP. This is my link that I am using: echo $ajax-link($html-image('/img/portfolio/small/' . $portfolio['Portfolio']['picture'], array('alt' = $portfolio['Portfolio']['title'])), '/portfolios/view/' . $portfolio['Portfolio']['id'], array('update'= 'case_study', 'complete' = 'Effect.Appear(\'case_study\', {duration: 2.0})'), null, false); Long I know. I can explain it more if you want me to, but the main part here that is my focus and the reason I am asking on this board instead of the CakePHP board is this part: array('update'= 'case_study', 'complete' = 'Effect.Appear(\'case_study\', {duration: 2.0})') Now all of this works as it is. However what I wanted was that after the case_study div initially appeared was once another link was clicked I wanted it to fade away and have it re-appear when it was complete. So I thought I could add before the 'complete': 'before' = 'Effect.Fade(\'case_study\') or 'loading' = Effect.Fade(\'case_study\') Neither of these are working. What happens as soon as I add either of those, is the div vaguely appears and then suddenly disappears, never to appear again until another link appears and then it just continues that cycle. I was wondering if anyone can help me with this, if not I can move this to the CakePHP group, just thought this was more of a Scriptaculous issue. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Prototype script.aculo.us group. To post to this group, send email to prototype-scriptaculous@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~--~~~~--~~--~--~---
[Proto-Scripty] Re: Effect.Fade and Effect.Appear
Anybody feel like helping me? I asked around the CakePHP group and they say it's a Javascript error, so just checking back in here for some help on this issue. On Sep 25, 11:45 pm, Arak Tai'Roth [EMAIL PROTECTED] wrote: So I am using the prototype and scriptaculous on my webpage that I am designing with CakePHP. This is my link that I am using: echo $ajax-link($html-image('/img/portfolio/small/' . $portfolio['Portfolio']['picture'], array('alt' = $portfolio['Portfolio']['title'])), '/portfolios/view/' . $portfolio['Portfolio']['id'], array('update'= 'case_study', 'complete' = 'Effect.Appear(\'case_study\', {duration: 2.0})'), null, false); Long I know. I can explain it more if you want me to, but the main part here that is my focus and the reason I am asking on this board instead of the CakePHP board is this part: array('update'= 'case_study', 'complete' = 'Effect.Appear(\'case_study\', {duration: 2.0})') Now all of this works as it is. However what I wanted was that after the case_study div initially appeared was once another link was clicked I wanted it to fade away and have it re-appear when it was complete. So I thought I could add before the 'complete': 'before' = 'Effect.Fade(\'case_study\') or 'loading' = Effect.Fade(\'case_study\') Neither of these are working. What happens as soon as I add either of those, is the div vaguely appears and then suddenly disappears, never to appear again until another link appears and then it just continues that cycle. I was wondering if anyone can help me with this, if not I can move this to the CakePHP group, just thought this was more of a Scriptaculous issue. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Prototype script.aculo.us group. To post to this group, send email to prototype-scriptaculous@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~--~~~~--~~--~--~---
[Proto-Scripty] Re: Effect.Fade and Effect.Appear
You got it: On Oct 6, 5:38 pm, Hector Virgen [EMAIL PROTECTED] wrote: So on click you want it to fade, and when the Ajax request is completed you want it to appear? On Mon, Oct 6, 2008 at 4:29 PM, Arak Tai'Roth [EMAIL PROTECTED]wrote: Anybody feel like helping me? I asked around the CakePHP group and they say it's a Javascript error, so just checking back in here for some help on this issue. On Sep 25, 11:45 pm, Arak Tai'Roth [EMAIL PROTECTED] wrote: So I am using the prototype and scriptaculous on my webpage that I am designing with CakePHP. This is my link that I am using: echo $ajax-link($html-image('/img/portfolio/small/' . $portfolio['Portfolio']['picture'], array('alt' = $portfolio['Portfolio']['title'])), '/portfolios/view/' . $portfolio['Portfolio']['id'], array('update'= 'case_study', 'complete' = 'Effect.Appear(\'case_study\', {duration: 2.0})'), null, false); Long I know. I can explain it more if you want me to, but the main part here that is my focus and the reason I am asking on this board instead of the CakePHP board is this part: array('update'= 'case_study', 'complete' = 'Effect.Appear(\'case_study\', {duration: 2.0})') Now all of this works as it is. However what I wanted was that after the case_study div initially appeared was once another link was clicked I wanted it to fade away and have it re-appear when it was complete. So I thought I could add before the 'complete': 'before' = 'Effect.Fade(\'case_study\') or 'loading' = Effect.Fade(\'case_study\') Neither of these are working. What happens as soon as I add either of those, is the div vaguely appears and then suddenly disappears, never to appear again until another link appears and then it just continues that cycle. I was wondering if anyone can help me with this, if not I can move this to the CakePHP group, just thought this was more of a Scriptaculous issue. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Prototype script.aculo.us group. To post to this group, send email to prototype-scriptaculous@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~--~~~~--~~--~--~---