Помогите разобраться со скроллом Кнопку я подключаю через модуль Код (html): <div class="product-button-form"> <a href="#elem">Туда</a> <script> function scro(){ elem=document.getElementById('elem'); elem.scrollTop=elem.scrollTop+1; if (elem.scrollTop >= (elem.scrollHeight - elem.clientHeight)) { elem.scrollTop = 0; return; } } setInterval(scro,70); </script> </div> позицию модуля в файле вывожу Код (PHP): <?php $document = &JFactory::getDocument(); $renderer = $document->loadRenderer('modules'); $options = array('style' => 'xhtml'); $position = 'product-button-form'; echo $renderer->render($position, $options, null); ?> форма выводится с помощью компонента RSForm! Pro позиция формы выводится Код (PHP): <div class="quickcontact"> <a id="elem"></a> <?php $document = &JFactory::getDocument(); $renderer = $document->loadRenderer('modules'); $options = array('style' => 'xhtml'); $position = 'zakaz'; echo $renderer->render($position, $options, null); ?> </div> но скролл с кнопки до формы отказывается плавно спускаться. Что тут не так почему он не хочет работать
а нету ли у тебя мил человек нескольких #elem на странице? попробуй вариант на jquery Код (javascript): $(function() { //Плавный переход по якорям $("a.scrollto").click(function () { var elementClick = $(this).attr("href") var destination = $(elementClick).offset().top; $("html:not:)animated),body:not:)animated)").animate({scrollTop: destination}, 850); return false; }); return false; });
В модуле прописано Код (html): <div class="product-button-form"> <a href="#elem">Туда</a> <script> $(function() { //Плавный переход по якорям $("a.scrollto").click(function () { var elementClick = $(this).attr("href") var destination = $(elementClick).offset().top; jQuery("html:not(:animated),body:not(:animated)").animate({scrollTop: destination}, 850); return false; }); return false; }); </script> </div> #elem выводится только с модуля есть на форме <a id="elem"></a> но это же для якоря и так все ровно не работает
Ты создаешь элемент DOM элемента c id="#elem" Код (javascript): elem=document.getElementById('elem'); А в коде @shure348 селектор нужно указать для твоего модуля , что то типа Код (javascript): //Плавный переход по якорям $("a[href^='#elem']").click(function () {
та же ситуация Код (html): <div class="product-button-form"> <a href="#elem">Туда</a> <script> $(function() { //Плавный переход по якорям $("a[href^='#elem']").click(function () { var elementClick = $(this).attr("href") var destination = $(elementClick).offset().top; jQuery("html:not(:animated),body:not(:animated)").animate({scrollTop: destination}, 850); return false; }); return false; }); </script> </div> страница с длинным списком _http://calc-book.lik-material.kz/in...ety/prazdnichnaya-stengazeta-detail.html#elem
поменяй $ на jQuery, и попробуй отключить mootools если оно не надо (если не знаешь точно, то обычно не надо отключить можно плагином http://digitaldisseny.com/en/joomla...ools-joomla-per-itemid-solve-jquery-conflicts когда кодил жумлу часто его использовал
Все спасибо последний пост помог Код (html): <div class="product-button-form"> <a href="#elem">Туда</a> <script> jQuery(function() { //Плавный переход по якорям jQuery("a[href^='#elem']").click(function () { var elementClick = jQuery(this).attr("href") var destination = jQuery(elementClick).offset().top; jQuery("html:not(:animated),body:not(:animated)").animate({scrollTop: destination}, 1500); return false; }); return false; }); </script> </div> и отключение mootools есть еще один вопрос как сделать форму обратной связи я пробовал так в файле templates/шаблон/html/com_virtuemart/productdetails/default_showprices.php дописал Код (PHP): <a class="ask-a-question modal" rel="{handler: 'iframe', size: {x: 700, y: 550}}" href="index.php?option=com_virtuemart&view=productdetails&form_emailprice.php"> <?php echo JText::_('COM_VIRTUEMART_PRODUCT_ASKPRICE') ?> </a> но при нажатии открывается главная страница я хотел в это окно вывести форму с компонента рс форм так же пробовал прописать отдельный файл /templates/шаблон/html/com_virtuemart/productdetails/form_emailprice.php с содержанием позиции Код (PHP): <?php defined ('_JEXEC') or die('Restricted access'); $document = &JFactory::getDocument(); $renderer = $document->loadRenderer('modules'); $options = array('style' => 'xhtml'); $position = 'ask-a-question'; echo $renderer->render($position, $options, null); ?> но вот как его подключить не пойму если делали что то подобное подскажите как это можно реализовать
Держи левую форму (она в модалке, но можно и так сделать) там текстовый файл - в нем и цсс и жс и верстка в php соответственон отправка письма ( домен обратного адреса письма обычно должен совпадать с доменом сайта) вообщем несложно ЗЫ хде плюс в карму за mootools?
так вот в чем то и проблема как добавить ее Код (html): <a class="ask-a-question modal" rel="{handler: 'iframe', size: {x: 700, y: 550}}" href="index.php?option=com_virtuemart&view=productdetails&form_emailprice.php"> <?php echo JText::_('COM_VIRTUEMART_PRODUCT_ASKPRICE') ?> </a> --- добавлено: 06.03.2015, первое сообщение размещено: 05.03.2015 --- пробовал так <a class="ask-a-question modal" rel="{handler: 'iframe', size: {x: 700, y: 550}}" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/html/com_virtuemart/productdetails/form_emailprice.php"> <?php echo JText::_('COM_VIRTUEMART_PRODUCT_ASKPRICE') ?> </a> и с текстовым файлом во вложении не разобрался как его раскидывать по файлом то есть стили к стилям js к js и форму с обработчиком вставлять в form_emailprice.php и туда же подключать js и стили или как. Но тут же опять не понятно как подключить ссылку до файла с формой и обработчиком. Такого плана ссылка <?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/html/com_virtuemart/productdetails/form_emailprice.php вызывает 404-ю --- добавлено: 06.03.2015 --- решил не не замарачиваться и стандартную форму переделать но тут опять проблема при нажатии на кнопку открывается 2 формы как это решить в файле /templates/шаблон/html/com_virtuemart/productdetails/default_showprices.php прописал Код (PHP): <a class="ask-a-question modal" rel="{handler: 'iframe', size: {x: 700, y: 550}}" href="<?php echo $this->askquestion_url ?>"><?php echo JText::_('COM_VIRTUEMART_PRODUCT_ASKPRICE') ?></a> сама форма с кодом Код (CODE): <?php /** *TODO Improve the CSS , ADD CATCHA ? * Show the form Ask a Question * * @package VirtueMart * @subpackage * @author Kohl Patrick, Maik K�nnemann * @link http://www.virtuemart.net * @copyright Copyright (c) 2004 - 2014 VirtueMart Team. All rights reserved. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php * VirtueMart is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * @version $Id: default.php 2810 2011-03-02 19:08:24Z Milbo $ */ // Check to ensure this file is included in Joomla! defined ( '_JEXEC' ) or die ( 'Restricted access' ); $min = VmConfig::get('asks_minimum_comment_length', 50); $max = VmConfig::get('asks_maximum_comment_length', 2000) ; vmJsApi::JvalideForm(); $document = JFactory::getDocument(); $document->addScriptDeclaration(' jQuery(function($){ $("#askform").validationEngine("attach"); $("#comment").keyup( function () { var result = $(this).val(); $("#counter").val( result.length ); }); }); '); /* Let's see if we found the product */ if (empty ( $this->product )) { echo JText::_ ( 'COM_VIRTUEMART_PRODUCT_NOT_FOUND' ); echo '<br /><br /> ' . $this->continue_link_html; } else { $session = JFactory::getSession(); $askQuestionData = $session->get('askquestion', 0, 'vm'); if(!empty($this->login)){ echo $this->login; } if(empty($this->login) or VmConfig::get('recommend_unauth',false)){ ?> <div class="ask-a-question-view"> <h1><?php echo JText::_('COM_VIRTUEMART_PRODUCT_ASK_QUESTION') ?></h1> <div class="product-summary"> <div class="width70 floatleft"> <h2><?php echo $this->product->product_name ?></h2> <?php // Product Short Description if (!empty($this->product->product_s_desc)) { ?> <div class="short-description"> <?php echo $this->product->product_s_desc ?> </div> <?php } // Product Short Description END ?> </div> <div class="width30 floatleft center"> <?php // Product Image echo $this->product->images[0]->displayMediaThumb('class="product-image"',false); ?> </div> <div class="clear"></div> </div> <div class="form-field"> <form method="post" class="form-validate" action="<?php echo JRoute::_('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id='.$this->product->virtuemart_product_id.'&virtuemart_category_id='.$this->product->virtuemart_category_id.'&tmpl=component', FALSE) ; ?>" name="askform" id="askform"> <table class="askform"> <tr> <td><label><?php echo JText::_('COM_VIRTUEMART_USER_FORM_NAME') ?> : </label></td> <td><input type="text" class="validate[required,minSize[3],maxSize[64]]" value="<?php echo $this->user->name ? $this->user->name : $askQuestionData['name'] ?>" name="name" id="name" size="30" validation="required name"/></td> </tr> <tr> <td><label><?php echo JText::_('COM_VIRTUEMART_USER_FORM_EMAIL') ?> : </label></td> <td><input type="text" class="validate[required,custom]" value="<?php echo $this->user->email ? $this->user->email : $askQuestionData['email'] ?>" name="email" id="email" size="30" validation="required email"/></td> </tr> <tr> <td colspan="2"><label><?php echo JText::sprintf('COM_VIRTUEMART_ASK_COMMENT', $min, $max); ?></label><td> </tr> <tr> <td colspan="2"><textarea title="<?php echo $ask_comment ?>" class="validate[required,minSize[<?php echo $min ?>],maxSize[<?php echo $max ?>]] field" id="comment" name="comment" rows="8"><?php echo $askQuestionData['comment'] ?></textarea></td> </tr> </table> <div class="submit"> <div class="width50 floatright right paddingtop"> <?php echo JText::_('COM_VIRTUEMART_ASK_COUNT') ?> <input type="text" value="0" size="4" class="counter" id="counter" name="counter" maxlength="4" readonly="readonly" /> </div> <?php // captcha addition if(VmConfig::get ('ask_captcha')){ JHTML::_('behavior.framework'); JPluginHelper::importPlugin('captcha'); $dispatcher = JDispatcher::getInstance(); $dispatcher->trigger('onInit','dynamic_recaptcha_1'); ?> <div id="dynamic_recaptcha_1"></div> <?php } // end of captcha addition ?> <input class="highlight-button" type="submit" name="submit_ask" title="<?php echo JText::_('COM_VIRTUEMART_ASK_SUBMIT') ?>" value="<?php echo JText::_('COM_VIRTUEMART_ASK_SUBMIT') ?>" /> </div> <input type="hidden" name="virtuemart_product_id" value="<?php echo JRequest::getInt('virtuemart_product_id',0); ?>" /> <input type="hidden" name="tmpl" value="component" /> <input type="hidden" name="view" value="productdetails" /> <input type="hidden" name="option" value="com_virtuemart" /> <input type="hidden" name="virtuemart_category_id" value="<?php echo JRequest::getInt('virtuemart_category_id'); ?>" /> <input type="hidden" name="task" value="mailAskquestion" /> <?php echo JHTML::_( 'form.token' ); ?> </form> </div> </div> <?php } } ?>