localhost Опубліковано: 27 червня 2016 Share Опубліковано: 27 червня 2016 Это всего лишь кнопка, а не модуль.... Пример реализации: http://pro100max.ru/bootstrap/callback.html Как поставить на сайт HTML код = вставляем в любое место <!-- Callback --> <div class="callback hidden-xs"> <a class="callback_link" data-toggle="modal" data-target="#myModal"> <div class="callback_block"><div class="callback_a"></div><div class="callback_b"></div></div> </a> </div> <!-- End Callback --> CSS код /************************************************************************************/ /* Callback /************************************************************************************/ .callback {background: #09f; border-radius: 50% !important; bottom: 40px; cursor: move; height: 50px; position: fixed; right: 40px; width: 50px; z-index: 9999; cursor:pointer;} .callback .callback_link::before {background: rgba(0, 0, 0, 0) url(../images/phone.png) no-repeat scroll center center / 35px auto; content: ""; height: 50px; left: 0; position: absolute; top: 0; width: 50px; z-index: 11;} .callback:hover {animation: 1.5s linear 0s normal none infinite running callback_anim;} .callback:hover .callback_b, .callback:hover .callback_a {background-color: #09f; border-color: #09f;} .callback .callback_block {height: 50px; position: absolute; width: 50px;} .callback .callback_a {-webkit-animation: callback 3s linear 0s infinite; -moz-animation: callback 3s linear 0s infinite; animation: callback 3s linear 0s infinite; background-color: transparent; border: 2px solid #09f; border-radius: 100% !important; bottom: -25px; box-sizing: border-box; height: 100px; opacity: 0.01; position: absolute; right: -25px; width: 100px;} .callback .callback_b {-webkit-animation: callback 1.5s linear 0s infinite; -moz-animation: callback 1.5s linear 0s infinite; animation: callback 1.5s linear 0s infinite; background-color: transparent; border: 2px solid #09f; border-radius: 100% !important; bottom: -25px; box-sizing: border-box; height: 100px; opacity: 0.01; position: absolute; right: -25px; width: 100px;} @keyframes callback { 0% {opacity: 0.8; transform: rotate(0deg) scale(0.46) skew(1deg);} 10% {transform: rotate(0deg) scale(0.56) skew(1deg);} 100% {opacity: 0.01; transform: rotate(0deg) scale(1) skew(1deg);} } @-webkit-keyframes callback { 0% {opacity: 0.8; transform: rotate(0deg) scale(0.46) skew(1deg);} 10% {transform: rotate(0deg) scale(0.56) skew(1deg);} 100% {opacity: 0.01; transform: rotate(0deg) scale(1) skew(1deg);} } @-moz-keyframes callback { 0% {opacity: 0.8; transform: rotate(0deg) scale(0.46) skew(1deg);} 10% {transform: rotate(0deg) scale(0.56) skew(1deg);} 100% {opacity: 0.01; transform: rotate(0deg) scale(1) skew(1deg);} } @keyframes callback_anim { 0% {transform: scale3d(1, 1, 1);} 10%, 20% {transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);} 30%, 50%, 70%, 90% {transform: scale3d(1.05, 1.05, 1.05) rotate3d(0, 0, 1, 3deg);} 40%, 60%, 80% {transform: scale3d(1.05, 1.05, 1.05) rotate3d(0, 0, 1, -3deg);} 100% {transform: scale3d(1, 1, 1);} } @keyframes callback_anim { 0% {transform: scale3d(1, 1, 1);} 10%, 20% {transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);} 30%, 50%, 70%, 90% {transform: scale3d(1.05, 1.05, 1.05) rotate3d(0, 0, 1, 3deg);} 40%, 60%, 80% {transform: scale3d(1.05, 1.05, 1.05) rotate3d(0, 0, 1, -3deg);} 100% {transform: scale3d(1, 1, 1);} } Как поменять цвет Найти и заменить в CSS = #09f на Ваш цвет #660000 Замена изображения на свое Скачать кнопку = http://pro100max.ru/bootstrap/images/phone.png Либо оставьте ее, либо рисуйте сами)))... Внимательно с путями к изображению в CSS.... P.S. Данную кнопку можно прикрутить к любому модулю обратного звонка.... В примере реализации прикручено модальное окно... Надіслати Поділитися на інших сайтах More sharing options...
AlexFisher Опубліковано: 27 червня 2016 Share Опубліковано: 27 червня 2016 логики нет... Что за бред? 1 Надіслати Поділитися на інших сайтах More sharing options... localhost Опубліковано: 27 червня 2016 Автор Share Опубліковано: 27 червня 2016 логики нет... Что за бред? А вы везде ищите логику.... я так понимаю что ваши 2205 сообщений аналогичны вашей логике)))).... а уж бред ли мое сообщение или нет, по логике не вам решать уважаемый наш эксперт по бреду... Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 27 червня 2016 Share Опубліковано: 27 червня 2016 А вы везде ищите логику.... Я думаю, речь идёт об отсутствии программной логики. То есть, о том, что эта кнопка ничего не делает. 1 Надіслати Поділитися на інших сайтах More sharing options... localhost Опубліковано: 27 червня 2016 Автор Share Опубліковано: 27 червня 2016 Я думаю, речь идёт об отсутствии программной логики. То есть, о том, что эта кнопка ничего не делает. Это всего лишь кнопка, а не модуль.... мой пост для тех, кто захочет модернизировать кнопку вызова обратного звонка..... вот и вся ЛОГИКА.... Да... это всего лишь CSS3 и HTML.... и что с того..... уж простите, после постов о бреде, как-то расхотелось помогать людям.... 2 Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 28 червня 2016 Share Опубліковано: 28 червня 2016 (змінено) Простите, коллега, не хотел обидеть. Но как-раз о программной логике и шла речь. Ну вот мой вариант, если хотите: Это где угодно: <div id="callback-window"><!-- ему мы изначально в стилях даем display:none; --> <form id="callbackForm"> <input id="callback-name" name="callback-name"> <input id="callback-phone" name="callback-phone"> <input id="callback-question" name="callback-question"> <input type="submit" value="Callback" id="sendCallback" class="button" /> </form> </div> js: // итак, жмем на кнопку (коряво, но работает) $('#callback-button').click(function(){ if ($('#callback-window').css('display') == 'none') { $('#callback-window').show(150); } else { $('#callback-window').hide(150); } }); // типа небольшой валидации validationCallback = function(){ var result = true; if ($('#callback-name').val() === '') { result = false; $('#callback-name').css("border", "1px solid #f00").css("background", "#ffebeb"); // тут мы на пустое поле проверяем и делаем постыдно красным =) В принципе, можно и регулярку подвесить, или еще чего. } if ($('#callback-phone').val() === '') { result = false; $('#callback-phone').css("border", "1px solid #f00").css("background", "#ffebeb"); //тут тоже } return result; // можно аналогично и с полем комментария поступать. Да и вообще можно много чего придумать. } // здесь само действие. Обращаемся к контроллеру. $('#sendCallback').click(function(){ if (validationCallback()) { $.post('/index.php?route=common/callback/callback', // а вот и адрес контроллера { 'callback-name' : $('#callback-name').val(), 'callback-phone' : $('#callback-phone').val(), 'callback-question' : $('#callback-question').val() }, function(response){ if (response == 'success') { //тут мы реагируем на успешную отправку. показываем окей, или еще чего-то... } }); } return false; }); Контроллер: class ControllerCommonCallback extends Controller { public function callback () { $feedback_field = 'например_фид'; $mailto_field = 'например_мыло_магазина'; $fheader_field = 'запрос_обратного_звонка'; $data = $this->request->post; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf8' . "\r\n"; $msg = ' <html> <body> <hr> <p>Имя: '.$data['callback-name'].'</p> <p>Телефон: '.$data['callback-phone'].'</p> <p>Вопрос: '.$data['callback-question'].'</p> <hr> </body> </html> '; mail($mailto_field, $feedback_field, $msg, $headers); echo 'success'; } } Ну и сама кнопка ;) Чуть не забыл =) <div id="callback-button">Перезвоните мне</div> Вроде, все. CSS - по вкусу ;) Воооот. Не поленился и более-менее показал, как забацать именно обратный звонок простейший. Змінено 28 червня 2016 користувачем AlexFisher 3 Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 28 червня 2016 Share Опубліковано: 28 червня 2016 Простите, коллега, не хотел обидеть. Но как-раз о программной логике и шла речь. Ну вот мой вариант, если хотите: Это где угодно: <div id="callback-window"><!-- ему мы изначально в стилях даем display:none; --> <form id="callbackForm"> <input id="callback-name" name="callback-name"> <input id="callback-phone" name="callback-phone"> <input id="callback-question" name="callback-question"> <input type="submit" value="Callback" id="sendCallback" class="button" /> </form> </div> js: // итак, жмем на кнопку (коряво, но работает) $('#callback-button').click(function(){ if ($('#callback-window').css('display') == 'none') { $('#callback-window').show(150); } else { $('#callback-window').hide(150); } }); // типа небольшой валидации validationCallback = function(){ var result = true; if ($('#callback-name').val() === '') { result = false; $('#callback-name').css("border", "1px solid #f00").css("background", "#ffebeb"); // тут мы на пустое поле проверяем и делаем постыдно красным =) В принципе, можно и регулярку подвесить, или еще чего. } if ($('#callback-phone').val() === '') { result = false; $('#callback-phone').css("border", "1px solid #f00").css("background", "#ffebeb"); //тут тоже } return result; // можно аналогично и с полем комментария поступать. Да и вообще можно много чего придумать. } // здесь само действие. Обращаемся к контроллеру. $('#sendCallback').click(function(){ if (validationCallback()) { $.post('/index.php?route=common/callback/callback', // а вот и адрес контроллера { 'callback-name' : $('#callback-name').val(), 'callback-phone' : $('#callback-phone').val(), 'callback-question' : $('#callback-question').val() }, function(response){ if (response == 'success') { //тут мы реагируем на успешную отправку. показываем окей, или еще чего-то... } }); } return false; }); Контроллер: class ControllerCommonCallback extends Controller { public function callback () { $feedback_field = 'например_фид'; $mailto_field = 'например_мыло_магазина'; $fheader_field = 'запрос_обратного_звонка'; $data = $this->request->post; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf8' . "\r\n"; $msg = ' <html> <body> <hr> <p>Имя: '.$data['callback-name'].'</p> <p>Телефон: '.$data['callback-phone'].'</p> <p>Вопрос: '.$data['callback-question'].'</p> <hr> </body> </html> '; mail($mailto_field, $feedback_field, $msg, $headers); echo 'success'; } }Ну и сама кнопка ;) Чуть не забыл =) <div id="callback-button">Перезвоните мне</div>Вроде, все.CSS - по вкусу ;) Воооот. Не поленился и более-менее показал, как забацать именно обратный звонок простейший. Ну это не совсем хорошо .... Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 28 червня 2016 Share Опубліковано: 28 червня 2016 Оверквотить - вот это не совсем хорошо ;) Я и не претендую на гениальность. Просто рабочую кнопку смастерил по-быстрому. Надіслати Поділитися на інших сайтах More sharing options... localhost Опубліковано: 28 червня 2016 Автор Share Опубліковано: 28 червня 2016 ну понеслось)))))..... :eek: .... и всё из-за внешнего вида кнопки)))).... AlexFisher - навоял JS.... +100 в карму..... Надіслати Поділитися на інших сайтах More sharing options... 4 months later... buharin Опубліковано: 6 листопада 2016 Share Опубліковано: 6 листопада 2016 (змінено) красивая кнопочка то, поропробую прикрутить Змінено 6 листопада 2016 користувачем buharin Надіслати Поділитися на інших сайтах More sharing options... 1 year later... SergeTkach Опубліковано: 2 лютого 2018 Share Опубліковано: 2 лютого 2018 validator.w3.org выдал такую ошибку: CSS: animation: Too many values or values are not recognized. e running callback-icon_anim;}@med Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Кнопка обратного звонка своими руками! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
localhost Опубліковано: 27 червня 2016 Автор Share Опубліковано: 27 червня 2016 логики нет... Что за бред? А вы везде ищите логику.... я так понимаю что ваши 2205 сообщений аналогичны вашей логике)))).... а уж бред ли мое сообщение или нет, по логике не вам решать уважаемый наш эксперт по бреду... Надіслати Поділитися на інших сайтах More sharing options...
Dotrox Опубліковано: 27 червня 2016 Share Опубліковано: 27 червня 2016 А вы везде ищите логику.... Я думаю, речь идёт об отсутствии программной логики. То есть, о том, что эта кнопка ничего не делает. 1 Надіслати Поділитися на інших сайтах More sharing options...
localhost Опубліковано: 27 червня 2016 Автор Share Опубліковано: 27 червня 2016 Я думаю, речь идёт об отсутствии программной логики. То есть, о том, что эта кнопка ничего не делает. Это всего лишь кнопка, а не модуль.... мой пост для тех, кто захочет модернизировать кнопку вызова обратного звонка..... вот и вся ЛОГИКА.... Да... это всего лишь CSS3 и HTML.... и что с того..... уж простите, после постов о бреде, как-то расхотелось помогать людям.... 2 Надіслати Поділитися на інших сайтах More sharing options...
AlexFisher Опубліковано: 28 червня 2016 Share Опубліковано: 28 червня 2016 (змінено) Простите, коллега, не хотел обидеть. Но как-раз о программной логике и шла речь. Ну вот мой вариант, если хотите: Это где угодно: <div id="callback-window"><!-- ему мы изначально в стилях даем display:none; --> <form id="callbackForm"> <input id="callback-name" name="callback-name"> <input id="callback-phone" name="callback-phone"> <input id="callback-question" name="callback-question"> <input type="submit" value="Callback" id="sendCallback" class="button" /> </form> </div> js: // итак, жмем на кнопку (коряво, но работает) $('#callback-button').click(function(){ if ($('#callback-window').css('display') == 'none') { $('#callback-window').show(150); } else { $('#callback-window').hide(150); } }); // типа небольшой валидации validationCallback = function(){ var result = true; if ($('#callback-name').val() === '') { result = false; $('#callback-name').css("border", "1px solid #f00").css("background", "#ffebeb"); // тут мы на пустое поле проверяем и делаем постыдно красным =) В принципе, можно и регулярку подвесить, или еще чего. } if ($('#callback-phone').val() === '') { result = false; $('#callback-phone').css("border", "1px solid #f00").css("background", "#ffebeb"); //тут тоже } return result; // можно аналогично и с полем комментария поступать. Да и вообще можно много чего придумать. } // здесь само действие. Обращаемся к контроллеру. $('#sendCallback').click(function(){ if (validationCallback()) { $.post('/index.php?route=common/callback/callback', // а вот и адрес контроллера { 'callback-name' : $('#callback-name').val(), 'callback-phone' : $('#callback-phone').val(), 'callback-question' : $('#callback-question').val() }, function(response){ if (response == 'success') { //тут мы реагируем на успешную отправку. показываем окей, или еще чего-то... } }); } return false; }); Контроллер: class ControllerCommonCallback extends Controller { public function callback () { $feedback_field = 'например_фид'; $mailto_field = 'например_мыло_магазина'; $fheader_field = 'запрос_обратного_звонка'; $data = $this->request->post; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf8' . "\r\n"; $msg = ' <html> <body> <hr> <p>Имя: '.$data['callback-name'].'</p> <p>Телефон: '.$data['callback-phone'].'</p> <p>Вопрос: '.$data['callback-question'].'</p> <hr> </body> </html> '; mail($mailto_field, $feedback_field, $msg, $headers); echo 'success'; } } Ну и сама кнопка ;) Чуть не забыл =) <div id="callback-button">Перезвоните мне</div> Вроде, все. CSS - по вкусу ;) Воооот. Не поленился и более-менее показал, как забацать именно обратный звонок простейший. Змінено 28 червня 2016 користувачем AlexFisher 3 Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 28 червня 2016 Share Опубліковано: 28 червня 2016 Простите, коллега, не хотел обидеть. Но как-раз о программной логике и шла речь. Ну вот мой вариант, если хотите: Это где угодно: <div id="callback-window"><!-- ему мы изначально в стилях даем display:none; --> <form id="callbackForm"> <input id="callback-name" name="callback-name"> <input id="callback-phone" name="callback-phone"> <input id="callback-question" name="callback-question"> <input type="submit" value="Callback" id="sendCallback" class="button" /> </form> </div> js: // итак, жмем на кнопку (коряво, но работает) $('#callback-button').click(function(){ if ($('#callback-window').css('display') == 'none') { $('#callback-window').show(150); } else { $('#callback-window').hide(150); } }); // типа небольшой валидации validationCallback = function(){ var result = true; if ($('#callback-name').val() === '') { result = false; $('#callback-name').css("border", "1px solid #f00").css("background", "#ffebeb"); // тут мы на пустое поле проверяем и делаем постыдно красным =) В принципе, можно и регулярку подвесить, или еще чего. } if ($('#callback-phone').val() === '') { result = false; $('#callback-phone').css("border", "1px solid #f00").css("background", "#ffebeb"); //тут тоже } return result; // можно аналогично и с полем комментария поступать. Да и вообще можно много чего придумать. } // здесь само действие. Обращаемся к контроллеру. $('#sendCallback').click(function(){ if (validationCallback()) { $.post('/index.php?route=common/callback/callback', // а вот и адрес контроллера { 'callback-name' : $('#callback-name').val(), 'callback-phone' : $('#callback-phone').val(), 'callback-question' : $('#callback-question').val() }, function(response){ if (response == 'success') { //тут мы реагируем на успешную отправку. показываем окей, или еще чего-то... } }); } return false; }); Контроллер: class ControllerCommonCallback extends Controller { public function callback () { $feedback_field = 'например_фид'; $mailto_field = 'например_мыло_магазина'; $fheader_field = 'запрос_обратного_звонка'; $data = $this->request->post; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf8' . "\r\n"; $msg = ' <html> <body> <hr> <p>Имя: '.$data['callback-name'].'</p> <p>Телефон: '.$data['callback-phone'].'</p> <p>Вопрос: '.$data['callback-question'].'</p> <hr> </body> </html> '; mail($mailto_field, $feedback_field, $msg, $headers); echo 'success'; } }Ну и сама кнопка ;) Чуть не забыл =) <div id="callback-button">Перезвоните мне</div>Вроде, все.CSS - по вкусу ;) Воооот. Не поленился и более-менее показал, как забацать именно обратный звонок простейший. Ну это не совсем хорошо .... Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 28 червня 2016 Share Опубліковано: 28 червня 2016 Оверквотить - вот это не совсем хорошо ;) Я и не претендую на гениальность. Просто рабочую кнопку смастерил по-быстрому. Надіслати Поділитися на інших сайтах More sharing options... localhost Опубліковано: 28 червня 2016 Автор Share Опубліковано: 28 червня 2016 ну понеслось)))))..... :eek: .... и всё из-за внешнего вида кнопки)))).... AlexFisher - навоял JS.... +100 в карму..... Надіслати Поділитися на інших сайтах More sharing options... 4 months later... buharin Опубліковано: 6 листопада 2016 Share Опубліковано: 6 листопада 2016 (змінено) красивая кнопочка то, поропробую прикрутить Змінено 6 листопада 2016 користувачем buharin Надіслати Поділитися на інших сайтах More sharing options... 1 year later... SergeTkach Опубліковано: 2 лютого 2018 Share Опубліковано: 2 лютого 2018 validator.w3.org выдал такую ошибку: CSS: animation: Too many values or values are not recognized. e running callback-icon_anim;}@med Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Кнопка обратного звонка своими руками! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
ArtemPitov Опубліковано: 28 червня 2016 Share Опубліковано: 28 червня 2016 Простите, коллега, не хотел обидеть. Но как-раз о программной логике и шла речь. Ну вот мой вариант, если хотите: Это где угодно: <div id="callback-window"><!-- ему мы изначально в стилях даем display:none; --> <form id="callbackForm"> <input id="callback-name" name="callback-name"> <input id="callback-phone" name="callback-phone"> <input id="callback-question" name="callback-question"> <input type="submit" value="Callback" id="sendCallback" class="button" /> </form> </div> js: // итак, жмем на кнопку (коряво, но работает) $('#callback-button').click(function(){ if ($('#callback-window').css('display') == 'none') { $('#callback-window').show(150); } else { $('#callback-window').hide(150); } }); // типа небольшой валидации validationCallback = function(){ var result = true; if ($('#callback-name').val() === '') { result = false; $('#callback-name').css("border", "1px solid #f00").css("background", "#ffebeb"); // тут мы на пустое поле проверяем и делаем постыдно красным =) В принципе, можно и регулярку подвесить, или еще чего. } if ($('#callback-phone').val() === '') { result = false; $('#callback-phone').css("border", "1px solid #f00").css("background", "#ffebeb"); //тут тоже } return result; // можно аналогично и с полем комментария поступать. Да и вообще можно много чего придумать. } // здесь само действие. Обращаемся к контроллеру. $('#sendCallback').click(function(){ if (validationCallback()) { $.post('/index.php?route=common/callback/callback', // а вот и адрес контроллера { 'callback-name' : $('#callback-name').val(), 'callback-phone' : $('#callback-phone').val(), 'callback-question' : $('#callback-question').val() }, function(response){ if (response == 'success') { //тут мы реагируем на успешную отправку. показываем окей, или еще чего-то... } }); } return false; }); Контроллер: class ControllerCommonCallback extends Controller { public function callback () { $feedback_field = 'например_фид'; $mailto_field = 'например_мыло_магазина'; $fheader_field = 'запрос_обратного_звонка'; $data = $this->request->post; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf8' . "\r\n"; $msg = ' <html> <body> <hr> <p>Имя: '.$data['callback-name'].'</p> <p>Телефон: '.$data['callback-phone'].'</p> <p>Вопрос: '.$data['callback-question'].'</p> <hr> </body> </html> '; mail($mailto_field, $feedback_field, $msg, $headers); echo 'success'; } }Ну и сама кнопка ;) Чуть не забыл =) <div id="callback-button">Перезвоните мне</div>Вроде, все.CSS - по вкусу ;) Воооот. Не поленился и более-менее показал, как забацать именно обратный звонок простейший. Ну это не совсем хорошо .... Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 28 червня 2016 Share Опубліковано: 28 червня 2016 Оверквотить - вот это не совсем хорошо ;) Я и не претендую на гениальность. Просто рабочую кнопку смастерил по-быстрому. Надіслати Поділитися на інших сайтах More sharing options... localhost Опубліковано: 28 червня 2016 Автор Share Опубліковано: 28 червня 2016 ну понеслось)))))..... :eek: .... и всё из-за внешнего вида кнопки)))).... AlexFisher - навоял JS.... +100 в карму..... Надіслати Поділитися на інших сайтах More sharing options... 4 months later... buharin Опубліковано: 6 листопада 2016 Share Опубліковано: 6 листопада 2016 (змінено) красивая кнопочка то, поропробую прикрутить Змінено 6 листопада 2016 користувачем buharin Надіслати Поділитися на інших сайтах More sharing options... 1 year later... SergeTkach Опубліковано: 2 лютого 2018 Share Опубліковано: 2 лютого 2018 validator.w3.org выдал такую ошибку: CSS: animation: Too many values or values are not recognized. e running callback-icon_anim;}@med Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Кнопка обратного звонка своими руками!
AlexFisher Опубліковано: 28 червня 2016 Share Опубліковано: 28 червня 2016 Оверквотить - вот это не совсем хорошо ;) Я и не претендую на гениальность. Просто рабочую кнопку смастерил по-быстрому. Надіслати Поділитися на інших сайтах More sharing options... localhost Опубліковано: 28 червня 2016 Автор Share Опубліковано: 28 червня 2016 ну понеслось)))))..... :eek: .... и всё из-за внешнего вида кнопки)))).... AlexFisher - навоял JS.... +100 в карму..... Надіслати Поділитися на інших сайтах More sharing options... 4 months later... buharin Опубліковано: 6 листопада 2016 Share Опубліковано: 6 листопада 2016 (змінено) красивая кнопочка то, поропробую прикрутить Змінено 6 листопада 2016 користувачем buharin Надіслати Поділитися на інших сайтах More sharing options... 1 year later... SergeTkach Опубліковано: 2 лютого 2018 Share Опубліковано: 2 лютого 2018 validator.w3.org выдал такую ошибку: CSS: animation: Too many values or values are not recognized. e running callback-icon_anim;}@med Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
localhost Опубліковано: 28 червня 2016 Автор Share Опубліковано: 28 червня 2016 ну понеслось)))))..... :eek: .... и всё из-за внешнего вида кнопки)))).... AlexFisher - навоял JS.... +100 в карму..... Надіслати Поділитися на інших сайтах More sharing options...
buharin Опубліковано: 6 листопада 2016 Share Опубліковано: 6 листопада 2016 (змінено) красивая кнопочка то, поропробую прикрутить Змінено 6 листопада 2016 користувачем buharin Надіслати Поділитися на інших сайтах More sharing options...
SergeTkach Опубліковано: 2 лютого 2018 Share Опубліковано: 2 лютого 2018 validator.w3.org выдал такую ошибку: CSS: animation: Too many values or values are not recognized. e running callback-icon_anim;}@med Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts