Как сделать классную систему «Рассказать друзьям» вКонтакте, чтобы скачать с помощью CSS и JQuery
Приветствую Вас, дорогие читатели блога. По многочисленным просьбам читателей сегодня мы с Вами будем делать классную систему «Поделись с друзьями» вКонтакте, чтобы скачать файл с использованием JQuery и CSS.
Друзья, хочу сказать, что эта система во много раз увеличит количество ссылок на Ваш ресурс, ну смотря конечно, что Вы предлагаете скачать и какая у Вас посещаемость.
Ещё хочется сказать, что данная система очень похожа на классную систему «Твитни, чтобы скачать«, которая в свою очередь увеличивает количество ссылок в Твиттере. В этом случае практически всё тоже самое только не много мной отредактировано. И в конечном итоге всё просто прекрасно получилось :-)
Ну а теперь давайте перейдём к самой системе.
Система «Рассказать друзьям» вКонтакте, чтобы скачать файл

Посмотреть демо и скачать
Как это работает?
Как обычно всё очень просто. :-) Так же точно как и в «Твитни, чтобы скачать». Если пользователь хочет скачать на Вашем сайте какой либо файл, ему нужно поделиться именно той новостью которую Вы укажите в скрипте. Иначе не получится. А как только пользователь поделился новостью, сразу же активируется заветная кнопочка «Скачать».
Вот видите не так уж и сложно. :-)
Как сделать?
Для начала я нарисовал не сложный шаблон страницы с кнопкой. Его Вы можете посмотреть в примере, а также использовать у себя на сайте, он доступен в исходниках. На данную страницу будет перекидывать пользователя для того чтобы он там смог проделать заветные операции по скачиванию файла.
Затем я сверстал данный шаблон и вот что у меня получилось:
HTML
< !DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Поделиться с друзьями</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script> <script src="assets/js/jquery.vkAction.js"></script> <script src="assets/js/script.js"></script> </head> <body> <div id="wrapper"> <div id="text"></div> <div id="vk"><a href="#" id="tweetLink"><img width="262" height="262" src="img/vk.png"/></a></div> <div id="str1"></div> <div id="str2"></div> <a href="#" class="downloadButton"></a> <div id="copy">За скрипт спасибо <a href="http://tutorialzine.com/">tutorialzine.com</a> / Урок подготовил <a href="https://beloweb.name/">beloweb.ru</a></div> </div> </body> </html>
Как видите, совершенно не большая и не сложная страница.
Главное в начале между тегами <head> и </head> добавить следующие скрипты:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script> <script src="assets/js/jquery.vkAction.js"></script> <script src="assets/js/script.js"></script>
jquery.min.js — это библиотека JQuery, если она у Вас уже стоит повторно ставить не нужно
jquery.vkAction.js — данный скрипт вызывает окно вКонтакте.
script.js — а вот этот скрипт активирует кнопку «Скачать».
Теперь давайте не много добавим стилей CSS, для того чтобы не много украсить нашу страницу.
CSS
Друзья, все картинки, что указаны в стилях Вы сможете найти в исходниках в папке img.
* {
margin: 0;
padding: 0;
}
body {
margin-top:-50px;
width: 100%;
height: 100%;
color:#555;
background: url(img/body.jpg) repeat 100% 0;
font-family: 'Ubuntu', sans-serif;
font-size:0.85em;
line-height:135%;
}
ul {
list-style:none;
}
a {
color: #538e28;
text-decoration:none;
}
a:hover {
color: #69b432
}
#wrapper {
position:relative;
border:0px solid #d6d6d6;
width: 1004px;
height: 787px;
background: url(img/bodycont.jpg) 50px 0px no-repeat;
margin: 0 auto;
}
#copy{
position:absolute;
left:330px;
bottom:0px;
border:0px solid #d6d6d6;
font-size:11px;
color:#bbb;
}
#text {
position:absolute;
left:0px;
top:150px;
border:0px solid #d6d6d6;
width: 1004px;
height: 157px;
background: url(img/text.png) no-repeat;
margin: 0 auto;
}
#vk {
position:absolute;
left:370px;
top:300px;
border:0px solid #d6d6d6;
width: 262px;
height: 262px;
opacity: 0.5;
-moz-transition: all 0.2s 0.01s ease-in;
-o-transition: all 0.2s 0.01s ease-in;
-webkit-transition: all 0.2s 0.01s ease-in;
}
#vk:hover {
opacity: 1.0;
}
#str1 {
background: url(img/str1.png) no-repeat;
position:absolute;
left:140px;
top:290px;
border:0px solid #d6d6d6;
width: 262px;
height: 262px;
}
#str2 {
background: url(img/str2.png) no-repeat;
position:absolute;
right:100px;
top:450px;
border:0px solid #d6d6d6;
width: 262px;
height: 262px;
}
.downloadButton{
position:absolute;
left:373px;
top:580px;
width:253px;
height:98px;
overflow:hidden;
background:url('img/dbuthov.png') no-repeat;
cursor:default;
}
.downloadButton.active{
background:url('img/dbut.png') no-repeat;
width:253px;
height:98px;
cursor:pointer;
-moz-transition: all 0.2s 0.01s ease-in;
-o-transition: all 0.2s 0.01s ease-in;
-webkit-transition: all 0.2s 0.01s ease-in;
}
.downloadButton.active:hover{
opacity: 0.9;
}
Надеюсь, что здесь Вам всё понятно. Для начала я сделал блок размером 1004 на 787 пикселей, в котором потом с абсолютным позиционированием расставил все объекты которые Вы видите. Это кнопки вКонтакте и скачать, а так же стрелки и сами надписи.
Если Вам будет что то не понятно, спрашивайте в комментариях.
Теперь давайте перейдём, непосредственно, к скриптам.
JS
Далее я взял jquery.vkAction.js и не много отредактировал его. Вот, что у меня получилось:
(function($){
var win = null;
$.fn.tweetAction = function(options,callback){
// Стандартные параметры для всплывающего окна:
options = $.extend({
url:window.location.href
}, options);
return this.click(function(e){
if(win){
e.preventDefault();
return;
}
var width = 550,
height = 350,
top = (window.screen.height - height)/2,
left = (window.screen.width - width)/2;
var config = [
'scrollbars=yes','resizable=yes','toolbar=no','location=yes',
'width='+width,'height='+height,'left='+left, 'top='+top
].join(',');
// Всплывающее окно от API вКонтакте:
win = window.open('http://vkontakte.ru/share.php?'+$.param(options),
'TweetWindow',config);
(function checkWindow(){
try{
// need to put this code in a try/catch:
if(!win || win.closed){
throw "Closed!";
}
else {
setTimeout(checkWindow,100);
}
}
catch(e){
win = null;
callback();
}
})();
e.preventDefault();
});
};
})(jQuery);
Как видите, что тут я изменил только вот эту ссылку http://twitter.com/intent/tweet? на вот эту http://vkontakte.ru/share.php?. Другими словами ссылку от Твиттера заменил на ссылку ВК. Всё, больше изменений никаких не было.
Теперь давайте посмотрим какой у меня получился следующий скрипт.
script.js
$(document).ready(function(){
// Using our tweetAction plugin. For a complete list with supported
// parameters, refer to http://dev.twitter.com/pages/intents#tweet-intent
$('#tweetLink').tweetAction({
title: 'Как сделать систему "Рассказать друзьям" вКонтакте чтобы скачать с помощью JQuery и CSS',
url: 'https://beloweb.name/',
description: ' Тут Вы сможете скачать классную систему "Рассказать друзьям"' вКонтакте чтобы скачать, а так же узнаете как она работает'
},function(){
// Когда закроется окно:
$('.downloadButton')
.addClass('active')
.attr('href','Прямая ссылка на файл');
});
});
Важно
Этот скрипт Вам нужно отредактировать под Ваш сайт.
В поле title: нужно вписать название поста, которое должно отображаться в контакте.
В url: нужно указать ту ссылку, на которую хотите чтобы перешёл пользователь.
В поле description: нужно указать описание поста.
И в поле .attr(‘href’,’Прямая ссылка на файл’); требуется указать прямую ссылку на файл, который пользователь должен скачать.
Посмотреть демо и скачать
Вот и всё друзья. Хочу поблагодарить за идею и за скрипты сайт tutorialzine.com. Ну а теперь до скорых встреч. :-)








