jQuery Mobile을 사용하여 모바일 응용 프로그램을 만들고 있는데, 하나의 탐색 요소의 왼쪽 위/오른쪽 구석에 사과 스타일 알림 아이콘을 구현하고 싶습니다.jQueryMobile 사용자 지정 네비게이션
다음 URL에서 이미지의 라인을 따라뭔가 : 나는 다음과 같은 HTML을 사용하여 기본 뭔가를 얻을 관리했습니다
http://elephant.merryfull.com/images/mail_icon.jpg
/CSS/JS
HTML
<header data-role="header" data-position="fixed">
<h1>Title</h1>
<nav data-role="navbar">
<ul>
<li><a href="a.html" class="ui-btn-active">link1</a></li>
<li><a href="b.html" data-icon="check" data-iconpos="top right">link2</a></li>
<li><a href="c.html">link3</a></li>
<li>
<div id="firstBadge" class="badges">
<a href="d.html">link4</a>
</div>
</li>
<li><a href="e.html">link5</a></li>
</ul>
</nav><!-- /navbar -->
</header><!-- /header -->
CSS
.badge
{
background-image: url(themes/base/images/notiwindow.png);
width: 16px;
height: 16px;
z-index: 20000;
}
자바 스크립트
(function ($) {
$.fn.badge = function (action, options) {
// these are the default options
var defaults = {
top: '-8px',
left: '-8px',
cssClass: 'badge'
};
return this.each(function() {
var obj = $(this);
var eleId = this.id + "-badge";
// these are the 2 additional options
switch (action) {
case 'toggle':
$('#' + eleId).toggle();
return;
case 'hide':
$('#' + eleId).hide();
return;
}
// this merges the passed in settings with the default settings
var opts = $.extend({}, defaults, options);
if (!$("#" + eleId).length) {
var badge_html = "<div style='position:relative;float:left;'><div id='" + eleId + "' />8</div>";
obj.prepend(badge_html);
}
var badgeEle = $('#' + eleId);
badgeEle.addClass(opts.cssClass);
badgeEle.show().css({
position: 'absolute',
left: opts.left,
top: opts.top
});
return;
});
};
})(jQuery);
$(function() {
$('.badges').badge();
});
문제는 알림 아이콘의 위치로하지 않습니다, 그것은 예상대로 나타납니다. 문제는 이미지의 상단이 부모 요소에 의해 잘리지 않는다는 것입니다. 요소와 부모 모두의 인덱스를 설정하여 항상 최상위에 위치하도록 노력했지만 아직 성공하지 못했습니다. 코드의 출력은 다음 URL에서 이미지처럼 보인다 : 사람이 특정 문제에 발견하고 공유 할 수있는 솔루션을 가지고있다
http://elephant.merryfull.com/images/notification_icon.png
경우, 크게 감상 할 수있다.
, 난이 바닥 글 요소가 설정 한 때문이라고 생각 ** 오버 플로우 : 숨겨진 **. 당신이 이것을 무시할 수 있는지 확실하지 않습니다. – frequent