Jump to content
Sign in to follow this  
kate1987

[Решено] Спойлера в карточке товара

Recommended Posts

Здравствуйте

Использую Opencart 1,5,6

Хотела вывести нужную инфу в спойлер в карточку товара (при  клике на ссылку опции наличие)

Не могу сдлать скрипт, который бы отображал спойлер для каждого товара на странице категории

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

Share this post


Link to post
Share on other sites

добавила

 <div id="id_<?php echo $product_id?>" class="spoiler">Content1</div> 
    <a href="id_<?php echo $product_id ?>" class="spoilerButton">Show/Hide1</a>
 <script type="text/javascript">
   jQuery(document).ready(function(){
        jQuery(".spoilerButton").click(function (e) { 
            e.preventDefault()
            var foo=jQuery(this).attr('href')
           jQuery('#'+foo).slideToggle(1000); 
        });
    });
</script>

но к href добавляется в начале слеш, поэтому не работает

Share this post


Link to post
Share on other sites

:twisted:

<div id="spoiler_<?php echo $product_id; ?>" class="spoiler">Content1</div>
<a data-target-spoiler="spoiler_<?php echo $product_id; ?>" class="spoilerButton">Show/Hide1</a>
...
<script type="text/javascript">
$('.spoilerButton').click(function() {
var spoilerId = $(this).attr('data-target-spoiler');
$('#'+spoilerId).slideToggle(1000);
});
</script>

Share this post


Link to post
Share on other sites

В итоге у меня получилось так

<script type="text/javascript">
<!--
    function toggle_visibility(id) {
       var e = document.getElementById(id);
       if(e.style.display == 'block')
          e.style.display = 'none';
       else
          e.style.display = 'block';
    }
//-->
</script>

 <span><a id="displayText" class="nal" onclick="toggle_visibility('spoiler_<?php echo $product_id; ?>');">Опции/наличие </a> ▼</span>
<div style="display: none" id="spoiler_<?php echo $product_id; ?>">This is foo</div>

Спасибо

afwollis за участвие)

Share this post


Link to post
Share on other sites

а при чем тут категории? :?

вот для них:

отправим к сравнению, чтоб наглядно было, поменяем product_id на правильную переменную, js обернем в "$(document).ready" и "slideToggle()" сделаем "slow"

      <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a>
<div id="spoiler_<?php echo $product['product_id']; ?>" class="spoiler">Content1</div>
<a data-target-spoiler="spoiler_<?php echo $product['product_id']; ?>" class="spoilerButton">Show/Hide1</a>
      </div>
...
<script type="text/javascript">
$(document).ready(function() {
	$('.spoilerButton').click(function() {
		var spoilerId = $(this).attr('data-target-spoiler');
		$('#'+spoilerId).slideToggle('slow');
	});
});
</script>

Share this post


Link to post
Share on other sites

Не могу сдлать скрипт, который бы отображал спойлер для каждого товара на странице категории писала же)

Edited by afwollis

Share this post


Link to post
Share on other sites

ааааааа... недочитал несколько слов, получается... :rolleyes:

вот это

...toggle_visibility('spoiler_<?php echo $product_id; ?>')...
должно отдавать ошибку.

а с последним моим кодом всё ок :-)

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   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.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.