2017-01-17 2 views
0

Я хочу изменить, как далеко эта панель выйдет в этом jsfiddle. Для этого я использовал код jsfiddle. В этом случае, если я изменю ширину слайда и левую настройку закрытия до 200 вместо 100, ширина увеличивается и работает нормально. Но если я сделаю то же самое в своей, панель исчезнет. Я предполагаю, что я не изменил что-то правильно при преобразовании его в левую сторону. Может ли кто-нибудь объяснить, как увеличить ширину, чтобы панель скользнула дальше?Как увеличить ширину выдвижения

<style> 
    div#slideit {position: fixed; top: 100px; left:0px; margin: 0px; padding: 20px 0px 0px; color:#fff; background:#5681b4; list-style: none; z-index:9999; width: 100px; border-radius:0px 30px 30px 5px} 
    div#slideit .slideit-btn {background:#5681b4; border-radius:0px 10px 10px 0px; position:absolute; top:10px; left:90px; width:40px; height:70px; display:block; cursor:pointer;} 
    div#slideit .slideitspan {width:100px; margin:4px 2px; text-align:center; text-decoration:none; color:#FFF;} 
    .vertical-text { 
    font-size:18px; 
    transform: rotate(90deg); 
    transform-origin: left top 0; 
    position:absolute; top: 10px; left:34px; 
    } 
    </style> 

    <div id="slideit"> 
    <div class="slideit-btn"> <span class="vertical-text"></span></div> 
    <div class="slideitspan">You can now easily create banners, configure them as you like, link them to anywhere you want, like to products, categories, any page of your store or any other website and display them on various areas of your store, for example the front page. Learn more on the mini template system usage page </div> 
    </div> 

    <script> 
    $(function() { 
    $.fn.ToggleSlide = function() { 
     return this.each(function() { 
      //$(this).css('position', 'absolute'); 

      if(parseInt($(this).css('left')) < 0) { 
       $(this).animate({ 'left' : '0px' }, 120, function() { 
       $(".vertical-text").text("Close"); 
        //$(this).css('position', 'relative'); 
       }); 
      } 
      else { 
       $(this).animate({ 'left' : '-100px' }, 120, function() { 
       $(".vertical-text").text("Open"); 
        //$(this).css('position', 'relative'); 
       }); 
      } 
     }); 
    }; 

    $('#slideit').ToggleSlide(); 

    $(".slideit-btn").bind("click", function() { 
     $('#slideit').ToggleSlide(); 
    }); 
    }); 
    </script> 

ответ

0

Очень прямолинейный. Увеличение ширины HTML элементов

*{box-sizing: border-box;} 
#slideit, #slideit .slideitspan{width:300px;} 
#slideit .slideitspan{padding: 30px;} 
#slideit .slideit-btn{left: initial; right: -32px;} 

, а затем настроить смещение применяется JS на ту же сумму:

$(this).animate({ 'left' : '-300px' }, 120, function() {... 

https://jsfiddle.net/2c7rzm3q/

+0

Спасибо. Это сработало. Я не понимаю все изменения, но можете ли вы сказать мне, почему они нужны в моем коде, а не в оригинале? Это из-за изменений, которые я внес, как удаление списка? Мне просто интересно. – user3052443

+0

Я только что изменил ширину и смещение. Я не уверен, что вы имеете в виду. –

+0

В вашем jsfiddle есть дополнительные 4 строки, о которых вы говорили выше. Я предположил, что их нужно добавить. Вы просто добавили их, чтобы они были более ясными? Я никогда не видел утверждения вроде * {box-sizing: border-box;}, поэтому я думал, что это необходимо. Если 4 строки могут быть объединены в существующий код, будет ли это более эффективным, с точки зрения кодирования, или теперь это имеет значение с помощью css? – user3052443

Смежные вопросы