Criar um dropdown do usuário ao clicar em perfil
4 participantes
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1 • Compartilhe
Criar um dropdown do usuário ao clicar em perfil
Detalhes da questão
Endereço do fórum: http://policia-militar-sf.forumeiros.com/forum
Versão do fórum: phpBB3
Descrição
então eu fui tentar colocar o código coloquei tudo certinho como é pedido no tutorial porem não á efeito
Link do Tutorial > https://ajuda.forumeiros.com/t110561-tutorial-criar-um-dropdown-do-usuario-ao-clicar-em-perfil
Última edição por ranzatti em 21.11.17 4:00, editado 1 vez(es)
Re: Criar um dropdown do usuário ao clicar em perfil
Ola autor.
Por favor poste seu overall_header aqui.
Por favor poste seu overall_header aqui.
Re: Criar um dropdown do usuário ao clicar em perfil
- Código:
<link href="https://fonts.googleapis.com/css?family=BioRhyme|Dosis|Inconsolata|Katibeh|Lobster|Merriweather|Tillana" rel="stylesheet">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" id="min-width" lang="{L_LANG_HTML}" xml:lang="{L_LANG_HTML}" {NAMESPACE_FB_LIKE} {NAMESPACE_FB} {NAMESPACE_BBCODE}>
<head>
<title>{SITENAME_TITLE}{PAGE_TITLE}</title>
<meta http-equiv="content-type" content="text/html; charset={S_CONTENT_ENCODING}" />
<meta http-equiv="content-script-type" content="text/javascript" />
<meta http-equiv="content-style-type" content="text/css" />
<!-- BEGIN switch_compat_meta -->
<meta http-equiv="X-UA-Compatible" content="IE={switch_compat_meta.VERSION}" />
<!-- END switch_compat_meta -->
<!-- BEGIN switch_canonical_url -->
<link rel="canonical" href="{switch_canonical_url.CANONICAL_URL}" />
<!-- END switch_canonical_url -->
{META_FAVICO}
{META}
{META_FB_LIKE}
<meta name="title" content="{SITENAME_TITLE}{PAGE_TITLE}" />
{T_HEAD_STYLESHEET}
{CSS}
<link rel="search" type="application/opensearchdescription+xml" href="/improvedsearch.xml" title="{SITENAME}" />
<link rel="search" type="application/opensearchdescription+xml" href="{URL_BOARD_DIRECTORY}/search/improvedsearch.xml" title="{SEARCH_FORUMS}" />
<script src="{JQUERY_PATH}" type="text/javascript"></script>
<!-- BEGIN switch_recent_jquery -->
<script src="{JS_DIR}jquery1.9/jquery-migrate-1.4.1.js" type="text/javascript"></script>
<script src="{JQUERY_DIR}browser/v1.0/jquery.browser.min.js" type="text/javascript"></script>
<script src="{JQUERY_DIR}support/jquery.support.js" type="text/javascript"></script>
<!-- END switch_recent_jquery -->
<script src="{JS_DIR}{L_LANG}.js" type="text/javascript"></script>
{RICH_SNIPPET_GOOGLE}
<!-- BEGIN switch_fb_login -->
<script src="https://connect.facebook.net/{switch_fb_login.FB_LOCAL}/all.js" type="text/javascript"></script>
<script src="{switch_fb_login.JS_FB_LOGIN}" type="text/javascript"></script>
<!-- END switch_fb_login -->
<!-- BEGIN switch_ticker -->
<link type="text/css" rel="stylesheet" href="{JQUERY_DIR}ticker/ticker.css" />
<script src="{JQUERY_DIR}ticker/ticker.js" type="text/javascript"></script>
<!-- END switch_ticker -->
<!-- BEGIN switch_ticker_new -->
<script src="{JQUERY_DIR}jcarousel/jquery.jcarousel.js" type="text/javascript"></script>
<script type="text/javascript">//<![CDATA[
/* Definir le sens de direction en fonction du panneau admin */
var tickerDirParam = "{switch_ticker.DIRECTION}";
var slid_vert = false;
var auto_dir = 'next';
var h_perso = parseInt({switch_ticker.HEIGHT});
switch( tickerDirParam )
{
case 'top' :
slid_vert = true;
break;
case 'left':
break;
case 'bottom':
slid_vert = true;
auto_dir = 'prev';
break;
case 'right':
auto_dir = 'prev';
break;
default:
slid_vert = true;
}
$(document).ready(function() {
$('#fa_ticker_content').css('display','block');
var width_max = $('ul#fa_ticker_content').width();
var width_item = Math.floor(width_max / {switch_ticker.SIZE});
if (width_max > 0)
{
$('ul#fa_ticker_content li').css('float','left').css('list-style','none').width(width_item).find('img').each(function () {
if ($(this).width() > width_item)
{
var ratio = $(this).width() / width_item;
var new_height = Math.round($(this).height() / ratio);
$(this).height(new_height).width(width_item);
}
});
if (slid_vert)
{
var height_max = h_perso;
$('ul#fa_ticker_content li').each( function () {
if ($(this).height() > height_max)
{
height_max = $(this).height();
}
} );
$('ul#fa_ticker_content').width(width_item).height(height_max).css('marginLeft','auto').css('marginRight','auto');
$('ul#fa_ticker_content li').height(height_max);
}
$('#fa_ticker_content').jcarousel({
vertical: slid_vert,
wrap: 'circular',
auto: {switch_ticker.STOP_TIME},
auto_direction: auto_dir,
scroll: 1,
size: {switch_ticker.SIZE},
height_max: height_max,
animation: {switch_ticker.SPEED}
});
}
else
{
$('ul#fa_ticker_content li:not(:first)').css('display','none');
$('ul#fa_ticker_content li:first').css('list-style','none').css('text-align','center');
}
});
//]]>
</script>
<!-- END switch_ticker_new -->
<script type="text/javascript">//<![CDATA[
$(document).ready(function(){
<!-- BEGIN switch_enable_pm_popup -->
pm = window.open('{U_PRIVATEMSGS_POPUP}', '_faprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');
if(pm != null) { pm.focus(); }
<!-- END switch_enable_pm_popup -->
<!-- BEGIN switch_report_popup -->
report = window.open('{switch_report_popup.U_REPORT_POPUP}', '_phpbbreport', 'HEIGHT={switch_report_popup.S_HEIGHT},resizable=yes,scrollbars=no,WIDTH={switch_report_popup.S_WIDTH}');
if(report != null) { report.focus(); }
<!-- END switch_report_popup -->
<!-- BEGIN switch_ticker -->
$(document).ready(function() {
Ticker.start({
height : {switch_ticker.HEIGHT},
spacing : {switch_ticker.SPACING},
speed : {switch_ticker.SPEED},
direction : '{switch_ticker.DIRECTION}',
pause : {switch_ticker.STOP_TIME}
});
});
<!-- END switch_ticker -->
});
<!-- BEGIN switch_login_popup -->
var logInPopUpLeft, logInPopUpTop, logInPopUpWidth = {LOGIN_POPUP_WIDTH}, logInPopUpHeight = {LOGIN_POPUP_HEIGHT}, logInBackgroundResize = true, logInBackgroundClass = false;
<!-- END switch_login_popup -->
<!-- BEGIN switch_login_popup -->
$(document).ready( function() {
$(window).resize(function() {
var windowWidth = document.documentElement.clientWidth;
var popupWidth = $("#login_popup").width();
var mypopup = $("#login_popup");
$("#login_popup").css({
"left": windowWidth/2 - popupWidth/2
});
});
});
<!-- END switch_login_popup -->
//]]>
</script>
{GREETING_POPUP}
<style type="text/css">
#page-footer, div.navbar, div.navbar ul.linklist {
display: block !important;
}
ul.linklist li.rightside, ul.linklist li.rightside a.copyright {
display: inline !important;
}
<!-- BEGIN switch_ticker_new -->
.jcarousel-skin-tango .jcarousel-item {
text-align:center;
width: 10px;
}
.jcarousel-skin-tango .jcarousel-item-horizontal {
margin-right: {switch_ticker.SPACING}px;
}
.jcarousel-skin-tango .jcarousel-item-vertical {
margin-bottom: {switch_ticker.SPACING}px;
}
<!-- END switch_ticker_new -->
</style>
{HOSTING_JS}
<!-- BEGIN google_analytics_code -->
<script type="text/javascript">
//<![CDATA[
var _gaq = _gaq || [];
_gaq.push(["_setAccount", "{G_ANALYTICS_ID}"]);
_gaq.push(["_trackPageview"]);
_gaq.push(['_trackPageLoadTime']);
<!-- BEGIN google_analytics_code_bis -->
_gaq.push(['b._setAccount', '{G_ANALYTICS_ID_BIS}']);
_gaq.push(['b._trackPageview']);
<!-- END google_analytics_code_bis -->
(function() {
var ga = document.createElement("script"); ga.type = "text/javascript"; ga.async = true;
ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ga, s);
})();
//]]>
</script>
<!-- END google_analytics_code -->
<link rel="stylesheet" href="http://static.tumblr.com/yiol0h8/AXWn3atj3/tipsy.css" type="text/css" />
<script type="text/javascript" src="http://static.tumblr.com/yiol0h8/GOsn3atjv/jquery.tipsy.js"></script>
<script type='text/javascript'>
$(function() {
$('.tool-tip').tipsy({fade: true, gravity: 's'});
});
</script>
</head>
<body id="phpbb">
<!-- BEGIN hitskin_preview -->
<div id="hitskin_preview" style="display: block;">
<h1><img src="https://2img.net/i/fa/hitskin/hitskin_logo.png" alt="" /> <em>Hit</em>skin.com</h1>
<div class="content">
<p>
{hitskin_preview.L_THEME_SITE_PREVIEW}
<br />
<span>{hitskin_preview.U_INSTALL_THEME}<a href="https://{hitskin_preview.U_RETURN_THEME}">{hitskin_preview.L_RETURN_THEME}</a></span>
</p>
</div>
</div>
<!-- END hitskin_preview -->
<!-- BEGIN switch_login_popup -->
<div id="login_popup" style="z-index: 10000 !important;">
<div class="h3">{SITENAME}</div>
{LOGIN_POPUP_MSG}
<div id="login_popup_buttons">
<form action="{S_LOGIN_ACTION}" method="get">
<input type="submit" class="button1" value="{L_LOGIN}" />
<input type="button" class="button1" value="{L_REGISTER}" onclick="parent.location='{U_REGISTER}';" />
<input id="login_popup_close" type="button" class="button2" value="{L_DONT_DISPLAY_AGAIN}" />
</form>
</div>
</div>
<!-- END switch_login_popup -->
<div class="conteneur_minwidth_IE">
<div class="conteneur_layout_IE">
<div class="conteneur_container_IE">
<div id="wrap">
<a id="top" name="top" accesskey="t"></a>
{JAVASCRIPT}
<div id="page-header">
<div class="headerbar">
<div class="inner"><span class="corners-top"><span></span></span>
<div id="logo-desc">
<a href="{U_INDEX}" id="logo"><img src="{LOGO}" alt="{L_INDEX}" /></a>
<!-- BEGIN switch_h1 -->
<div id="site-title">{switch_h1.MAIN_SITENAME}</div>
<!-- END switch_h1 -->
<!-- BEGIN switch_desc -->
<p>{switch_desc.SITE_DESCRIPTION}</p>
<!-- END switch_desc -->
</div>
<span class="corners-bottom"><span></span></span></div>
</div>
<div class="navbar">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="linklist navlinks{NAVBAR_BORDERLESS}">
<li>{GENERATED_NAV_BAR}</li>
</ul>
<!-- BEGIN switch_search_box -->
<div id="search-box">
<form method="get" action="{ACTION_SEARCH}" id="search">
<p class="nomargin"><input type="text" name="search_keywords" id="keywords" maxlength="128" class="inputbox search" value="{L_SEARCH}..." onclick="if (this.value == '{L_SEARCH}...') this.value = '';" onblur="if (this.value == '') this.value = '{L_SEARCH}...';" />
{JS_SESSION_ID_INPUT}
<input class="button2" type="submit" value="{L_SEARCH}" /></p>
</form>
</div>
<!-- END switch_search_box -->
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- BEGIN switch_ticker_new -->
<div id="fa_ticker_blockD" style="margin-top:4px;">
<div class="module">
<div class="inner">
<span class="corners-top"><span></span></span>
<div id="fa_ticker_container">
<ul id="fa_ticker_content" class="jcarousel-skin-tango" style="display:none">
<!-- BEGIN ticker_row -->
<li>{switch_ticker.ticker_row.ELEMENT}</li>
<!-- END ticker_row -->
</ul>
</div>
<span class="corners-bottom"><span></span></span>
</div>
</div>
</div>
<!-- END switch_ticker_new -->
<!-- BEGIN switch_ticker -->
<div id="fa_ticker_block" style="margin-top:4px;">
<div class="module">
<div class="inner">
<span class="corners-top"><span></span></span>
<div id="fa_ticker_container">
<div id="fa_ticker" style="height:{switch_ticker.HEIGHT}px;">
<div class="fa_ticker_content">
<!-- BEGIN ticker_row -->
<div>{switch_ticker.ticker_row.ELEMENT}</div>
<!-- END ticker_row -->
</div>
</div>
</div>
<span class="corners-bottom"><span></span></span>
</div>
</div>
</div>
<!-- END switch_ticker -->
</div>
<div id="page-body">
<div id="{ID_CONTENT_CONTAINER}"{CLASS_CONTENT_CONTAINER}>
<div id="outer-wrapper">
<div id="wrapper">
<div id="container">
<div id="content">
<div id="{ID_LEFT}">
<!-- BEGIN giefmod_index1 -->
{giefmod_index1.MODVAR}
<!-- BEGIN saut -->
<div style="height:{SPACE_ROW}px"></div>
<!-- END saut -->
<!-- END giefmod_index1 -->
</div>
<div id="main">
<div id="main-content">
pronto código acima
Re: Criar um dropdown do usuário ao clicar em perfil
Olá autor, boa noite.
Não é preciso do template não, até poderia ser feito também, mas, com o código do tutorial já pronto, optei só alterar umas coisas.
Crie um novo js com investimento em todas as paginas com esse código:
Até.
Não é preciso do template não, até poderia ser feito também, mas, com o código do tutorial já pronto, optei só alterar umas coisas.
Crie um novo js com investimento em todas as paginas com esse código:
- Código:
(function ($) {
'use strict';
var styles = [
'#page-header > div.navbar > div > ul > li > a[href="/profile?mode=editprofile"],',
'[data-trigger="profile-drop"] {',
' position: relative;',
'}',
'',
'.fa-dropdown-user {',
' position: absolute;',
' background-color: #fff;',
' z-index: 9999;',
' width: 400px;',
' height: 105px;',
' border-radius: 3px;',
' box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.39);',
' top: 50px;',
' left: -20px;',
' padding: 10px;',
' padding-left: 30px;',
' opacity: 0;',
' visibility: hidden;',
' pointer-events: none;',
'}',
'',
'.fa-dropdown-user img {',
' display: inline-block!important;',
' width: 75px;',
' height: 75px;',
' position: absolute;',
' left: 15px;',
' top: 50%;',
' transform: translateY(-50%);',
' border: solid 3px #ddd;',
' border-radius: 100px;',
' background-color: #fff;',
' box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.54);',
'}',
'',
'.fa-dropdown-user:before {',
' content: "";',
' width: 20px;',
' height: 20px;',
' background-color: #fff;',
' position: absolute;',
' top: -11px;',
' left: 45px;',
' transform: rotate(45deg);',
' border-radius: 0 0 100px 0;',
' border-left: solid 1px rgba(0, 0, 0, 0.21);',
' border-top: solid 1px rgba(0, 0, 0, 0.21);',
'}',
'',
'.fa-col-left {',
' position: absolute;',
' left: 28%;',
' text-align: left;',
'}',
'',
'.fa-col-left a,',
'.fa-col-right a {',
' display: block;',
' height: auto!important;',
' line-height: initial!important;',
' color: #0372be;',
' margin-bottom: 17px;',
' margin-top: 10px;',
'}',
'',
'.fa-col-right {',
' text-align: left;',
' position: absolute;',
' left: 59%;',
'}',
'',
'.fa-col-left a:hover, .fa-col-right a:hover {',
' color: #0372be;',
' text-decoration: underline;',
'}',
'',
'.drop-is-visible {',
' opacity: 1;',
' visibility: visible;',
' pointer-events: all;',
'}',
].join('\n');
$(function () {
var $target = $('#page-header > div.navbar > div > ul > li > a[href="/profile?mode=editprofile"], a.mainmenu[href="javascript:void(0)"], .profile-link');
var $drop = $([
'<div class="fa-dropdown-user">',
' <div class="fa-avatar-wrap">',
' ' + _userdata["avatar"],
' </div>',
' <div class="fa-col-left">',
' <a href="/st/' + _userdata["username"] + '">Meu Conteúdo</a>',
' <a href="/profile?mode=editprofile&page_profil=signature">Assinatura</a>',
' <a href="/profile?mode=editprofile&page_profil=friendsfoes">Amigos</a>',
' </div>',
' <div class="fa-col-right">',
' <a href="/u' + _userdata["user_id"] + '">Meu Perfil</a>',
' <a href="/profile?mode=editprofile&page_profil=avatars">Mudar avatar</a>',
' <a href="/profile?mode=editprofile&page_profil=informations">Preferências</a>',
' </div>',
'</div>',
].join('\n'))
.appendTo($target)
;
$target.attr({
'href': 'javascript:void(0)',
'data-trigger': 'profile-drop'
});
var $trigger = $('[data-trigger="profile-drop"]');
$trigger.on('click', function (event) {
$drop.toggleClass('drop-is-visible');
event.preventDefault();
event.stopPropagation();
});
$drop.on('click', function (event) {
event.stopPropagation();
});
$(document).on('click', function (event) {
if (!$drop.is('.drop-is-visible')) {
return;
}
$drop.toggleClass('drop-is-visible');
})
$([
'<style type="text/css">',
' ' + styles,
'</style>',
].join('\n'))
.appendTo('head')
;
});
}(jQuery));
Até.
Re: Criar um dropdown do usuário ao clicar em perfil
não funcionou tem algo errado e ainda oculta o meu menu rolante !
Re: Criar um dropdown do usuário ao clicar em perfil
Não faz sentido ocultar um outro script, a não ser que estejam entrando em conflito, por isso da não funcionalidade do código que te passei, pois sempre testo antes de dar minha resposta, de fato.
Mas, altere o código para esse:
Funcionou dessa vez?
Mas, altere o código para esse:
- Código:
(function ($, styles) {
'use strict';
var $submenu = {
toggle: function ($parent) {
if (this.template.css('display') === 'none') {
this.template
.show()
.css({
position: 'absolute',
left: $parent.offset().left,
top: $parent.offset().top
})
;
return;
}
this.template
.removeAttr('style')
.hide()
;
},
linklist: [
{
name: 'Perfil',
icon: 'ion-clipboard',
link: '/profile?mode=editprofile&page_profil=informations',
},
{
name: 'Preferências',
icon: 'ion-gear-a',
link: '/profile?mode=editprofile&page_profil=preferences',
},
{
name: 'Avatar',
icon: 'ion-person',
link: '/profile?mode=editprofile&page_profil=avatars',
},
{
name: 'Assinatura',
icon: 'ion-android-more-horizontal',
link: '/profile?mode=editprofile&page_profil=signature',
}
],
template: $('<nav>', {
'class': 'fa-submenu-profile',
'style': 'display: none;'
}),
init: function () {
var self = this;
$.each(self.linklist, function () {
$('<a>', {
'href': this.link,
'html': [
$('<i>', { 'class': this.icon }).prop('outerHTML'),
$('<span>', { 'text': this.name }).prop('outerHTML')
].join('\n')
}).appendTo(self.template);
});
}
};
$(function () {
$submenu.init();
$('a[href="/profile?mode=editprofile"]')
.parents('li')
.on('click', function (event) {
event.preventDefault();
$submenu.toggle($(this));
})
;
// Criar os elementos:
$('body').append($submenu.template);
$('head').append(['<style>', styles, '</style>'].join('\n'));
});
}(jQuery, [
'.fa-submenu-profile {',
' min-width: 190px;',
' background-color: #fff;',
' padding: 5px 0;',
' display: block;',
' border-radius: 2px;',
' margin-top: 30px;',
' z-index: 999;',
'}',
'',
'.fa-submenu-profile::before {',
' content: "";',
' border: solid 6px transparent;',
' border-bottom-color: white;',
' position: absolute;',
' top: -12px;',
' left: 8px;',
'}',
'',
'.fa-submenu-profile > a {',
' display: block;',
' padding: 5px 10px;',
' font-size: 13px;',
'}',
'',
'.fa-submenu-profile > a,',
'.fa-submenu-profile > a * {',
' transition: all 120ms linear;',
'}',
'',
'.fa-submenu-profile > a:hover {',
' background-color: #455280;',
' color: #fff;',
'}',
].join('\n')));
Funcionou dessa vez?
Re: Criar um dropdown do usuário ao clicar em perfil
Agora sim ficou legal muito obrigado while pode fechar
Re: Criar um dropdown do usuário ao clicar em perfil
Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada. Tópico marcado como Resolvido e movido para Questões resolvidas. |
Tópicos semelhantes
» [TUTORIAL] Criar um dropdown do usuário ao clicar em perfil
» Clicar no avatar ou no username ir diretamente para o perfil do usuário
» Como criar caixa de para conectar-se ao clicar em Login?
» [FAQ] Criar um novo perfil de usuário
» Menu dropdown do usuario
» Clicar no avatar ou no username ir diretamente para o perfil do usuário
» Como criar caixa de para conectar-se ao clicar em Login?
» [FAQ] Criar um novo perfil de usuário
» Menu dropdown do usuario
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos