JQuery Slider mit Hide/Show Effekt

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • JQuery Slider mit Hide/Show Effekt

    Hi zusammen,

    Seit nunmehr 2 Tagen bastel ich an einem JQuery Slider mit Hide/Show Effekt, und kreige es einfach nicht gebacken. Ich möchte es gerne genau so haben wie auf retarus.de (einmal aufs Firmenlogo oben klicken) dann kommt der Slider im Content-Bereich, und zu jedem der Punkte gibt es die Möglichkeit einen Show Bereich einzublenden.

    Der Slider an sich war schnell realisiert, aber wenn ich den show Bereich in den Slider Packe funktioniert die Textanpassung nicht, und wenn ich ihn ausserhalb setze klappt es zwar mit der Textanpassung, aber wenn der Slide wechselt bleibt der Show bereich stehen :(

    Wer kann hier mit ein paar Tips weiterhelfen?

    Grüße,
    Matthias
    Das Leben ist binär - du bist eine 1, oder eine 0
  • Hi!

    Sorry für die späte Antwort, was ich bisher geschafft habe ist das der slider läuft (easySlider 1.7) und darin per li eine collapse box herunterfährt wenn man darauf klickt. Was mir noch fehlt ist die Möglichkeit das wenn man die Box ausfährt der slider stoppt.

    Hier mein Code:
    TopMenu.js

    Quellcode

    1. /*
    2. * Easy Slider 1.7 - jQuery plugin
    3. * written by Alen Grakalic
    4. * http://cssglobe.com/post/4004/easy-slider-15-the-easiest-jquery-plugin-for-sliding
    5. *
    6. * Copyright (c) 2009 Alen Grakalic (http://cssglobe.com)
    7. * Dual licensed under the MIT (MIT-LICENSE.txt)
    8. * and GPL (GPL-LICENSE.txt) licenses.
    9. *
    10. * Built for jQuery library
    11. * http://jquery.com
    12. *
    13. */
    14. /*
    15. * markup example for $("#slider").easySlider();
    16. *
    17. * <div id="slider">
    18. * <ul>
    19. * <li><img src="images/01.jpg" alt="" /></li>
    20. * <li><img src="images/02.jpg" alt="" /></li>
    21. * <li><img src="images/03.jpg" alt="" /></li>
    22. * <li><img src="images/04.jpg" alt="" /></li>
    23. * <li><img src="images/05.jpg" alt="" /></li>
    24. * </ul>
    25. * </div>
    26. *
    27. */
    28. (function($) {
    29. $.fn.easySlider = function(options){
    30. // default configuration properties
    31. var defaults = {
    32. prevId: 'prevBtn',
    33. prevText: 'Previous',
    34. nextId: 'nextBtn',
    35. nextText: 'Next',
    36. controlsShow: true,
    37. controlsBefore: '',
    38. controlsAfter: '',
    39. controlsFade: true,
    40. firstId: 'firstBtn',
    41. firstText: 'First',
    42. firstShow: false,
    43. lastId: 'lastBtn',
    44. lastText: 'Last',
    45. lastShow: false,
    46. vertical: false,
    47. speed: 800,
    48. auto: false,
    49. pause: 2000,
    50. continuous: false,
    51. numeric: true,
    52. numericId: 'controls'
    53. };
    54. var options = $.extend(defaults, options);
    55. this.each(function() {
    56. var obj = $(this);
    57. var s = $("li", obj).length;
    58. var w = $("li", obj).width();
    59. var h = $("li", obj).height();
    60. var clickable = true;
    61. obj.width(w);
    62. obj.height(h);
    63. obj.css("overflow","hidden");
    64. var ts = s-1;
    65. var t = 0;
    66. $("ul", obj).css('width',s*w);
    67. if(options.continuous){
    68. $("ul", obj).prepend($("ul li:last-child", obj).clone().css("margin-left","-"+ w +"px"));
    69. $("ul", obj).append($("ul li:nth-child(2)", obj).clone());
    70. $("ul", obj).css('width',(s+1)*w);
    71. };
    72. if(!options.vertical) $("li", obj).css('float','left');
    73. if(options.controlsShow){
    74. var html = options.controlsBefore;
    75. if(options.numeric){
    76. html += '<ol id="'+ options.numericId +'"></ol>';
    77. } else {
    78. if(options.firstShow) html += '<span id="'+ options.firstId +'"><a href=\"javascript:void(0);\">'+ options.firstText +'</a></span>';
    79. html += ' <span id="'+ options.prevId +'"><a href=\"javascript:void(0);\">'+ options.prevText +'</a></span>';
    80. html += ' <span id="'+ options.nextId +'"><a href=\"javascript:void(0);\">'+ options.nextText +'</a></span>';
    81. if(options.lastShow) html += ' <span id="'+ options.lastId +'"><a href=\"javascript:void(0);\">'+ options.lastText +'</a></span>';
    82. };
    83. html += options.controlsAfter;
    84. $(obj).after(html);
    85. };
    86. if(options.numeric){
    87. for(var i=0;i<s;i++){
    88. $(document.createElement("li"))
    89. .attr('id',options.numericId + (i+1))
    90. .html('<a rel='+ i +' href=\"javascript:void(0);\">'+ (i+1) +'</a>')
    91. .appendTo($("#"+ options.numericId))
    92. .click(function(){
    93. animate($("a",$(this)).attr('rel'),true);
    94. });
    95. };
    96. } else {
    97. $("a","#"+options.nextId).click(function(){
    98. animate("next",true);
    99. });
    100. $("a","#"+options.prevId).click(function(){
    101. animate("prev",true);
    102. });
    103. $("a","#"+options.firstId).click(function(){
    104. animate("first",true);
    105. });
    106. $("a","#"+options.lastId).click(function(){
    107. animate("last",true);
    108. });
    109. };
    110. function setCurrent(i){
    111. i = parseInt(i)+1;
    112. $("li", "#" + options.numericId).removeClass("current");
    113. $("li#" + options.numericId + i).addClass("current");
    114. };
    115. function adjust(){
    116. if(t>ts) t=0;
    117. if(t<0) t=ts;
    118. if(!options.vertical) {
    119. $("ul",obj).css("margin-left",(t*w*-1));
    120. } else {
    121. $("ul",obj).css("margin-left",(t*h*-1));
    122. }
    123. clickable = true;
    124. if(options.numeric) setCurrent(t);
    125. };
    126. function animate(dir,clicked){
    127. if (clickable){
    128. clickable = false;
    129. var ot = t;
    130. switch(dir){
    131. case "next":
    132. t = (ot>=ts) ? (options.continuous ? t+1 : ts) : t+1;
    133. break;
    134. case "prev":
    135. t = (t<=0) ? (options.continuous ? t-1 : 0) : t-1;
    136. break;
    137. case "first":
    138. t = 0;
    139. break;
    140. case "last":
    141. t = ts;
    142. break;
    143. default:
    144. t = dir;
    145. break;
    146. };
    147. var diff = Math.abs(ot-t);
    148. var speed = diff*options.speed;
    149. if(!options.vertical) {
    150. p = (t*w*-1);
    151. $("ul",obj).animate(
    152. { marginLeft: p },
    153. { queue:false, duration:speed, complete:adjust }
    154. );
    155. } else {
    156. p = (t*h*-1);
    157. $("ul",obj).animate(
    158. { marginTop: p },
    159. { queue:false, duration:speed, complete:adjust }
    160. );
    161. };
    162. if(!options.continuous && options.controlsFade){
    163. if(t==ts){
    164. $("a","#"+options.nextId).hide();
    165. $("a","#"+options.lastId).hide();
    166. } else {
    167. $("a","#"+options.nextId).show();
    168. $("a","#"+options.lastId).show();
    169. };
    170. if(t==0){
    171. $("a","#"+options.prevId).hide();
    172. $("a","#"+options.firstId).hide();
    173. } else {
    174. $("a","#"+options.prevId).show();
    175. $("a","#"+options.firstId).show();
    176. };
    177. };
    178. if(clicked) clearTimeout(timeout);
    179. if(options.auto && dir=="next" && !clicked){;
    180. timeout = setTimeout(function(){
    181. animate("next",false);
    182. },diff*options.speed+options.pause);
    183. };
    184. };
    185. };
    186. // init
    187. var timeout;
    188. if(options.auto){;
    189. timeout = setTimeout(function(){
    190. animate("next",false);
    191. },options.pause);
    192. };
    193. if(options.numeric) setCurrent(0);
    194. if(!options.continuous && options.controlsFade){
    195. $("a","#"+options.prevId).hide();
    196. $("a","#"+options.firstId).hide();
    197. };
    198. });
    199. };
    200. })(jQuery);
    Alles anzeigen



    TopMenu.php

    Quellcode

    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <head>
    4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    5. <title>JQuery Collapse</title>
    6. <script type="text/javascript" src="jquery.js"></script>
    7. <script type="text/javascript" src="TopMenu.js"></script>
    8. <link rel="stylesheet" type="text/css" href="TopMenu.css">
    9. <script type="text/javascript">
    10. $(document).ready(function(){
    11. $("#slider").easySlider({
    12. auto: true,
    13. continuous: true
    14. });
    15. });
    16. </script>
    17. <script type="text/javascript">
    18. $(function()
    19. {
    20. $("#mostrar").click(function(event) {
    21. event.preventDefault();
    22. $("#caja").slideToggle();
    23. });
    24. $("#caja a").click(function(event) {
    25. event.preventDefault();
    26. $("#caja").slideUp();
    27. });
    28. });
    29. </script>
    30. <style type="text/css">
    31. body {
    32. font-family: Verdana, Arial, Helvetica, sans-serif;
    33. font-size: 11px;
    34. color: #666666;
    35. }
    36. a{color:#993300; text-decoration:none;}
    37. #caja {
    38. width:70%;
    39. display: none;
    40. padding:5px;
    41. border:2px solid #FADDA9;
    42. background-color:#FDF4E1;
    43. }
    44. #mostrar{
    45. display:block;
    46. height:500px;
    47. width:70%;
    48. padding:5px;
    49. border:2px solid #D0E8F4;
    50. background-color:#ECF8FD;
    51. }
    52. </style>
    53. </head>
    54. <body>
    55. <div id="container">
    56. <div id="content">
    57. <div id="slider">
    58. <ul>
    59. <li><a href="#"><img src="img/sliders/01.jpg" alt="Css Template Preview" /></a></li><li><a href="javascript:void(0);" id="mostrar" style="background-image: url(img/sliders/02.jpg);">MOSTRAR</a></li>
    60. <li><a href="http://templatica.com/preview/7"><img src="img/sliders/02.jpg" alt="Css Template Preview" /></a></li>
    61. <li><a href="http://templatica.com/preview/25"><img src="img/sliders/03.jpg" alt="Css Template Preview" /></a></li>
    62. <li><a href="http://templatica.com/preview/26"><img src="img/sliders/04.jpg" alt="Css Template Preview" /></a></li>
    63. </ul>
    64. </div>
    65. </div>
    66. </div>
    67. <div id="caja">
    68. <a href="#" class="close">[x]</a>
    69. <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren</p>
    70. </div>
    71. </body>
    72. </html>
    Alles anzeigen


    Sorry das ich nicht nur einen Teil poste, aber ich wüsste nicht welchen. Durch das js File werden Buttons angelegt, wenn ich auf einen davon klicke wird der slide auch unterbrochen, es gibt die "pause" Funktion also bereits, ich kann sie nur nicht einbauen :(

    Merci vorab,
    Matthias
    Das Leben ist binär - du bist eine 1, oder eine 0