私のブログ投稿を HTML コードの代わりに JCarousel に追加することはできますか? 次のようになります。
=>例
このサイトのコンテンツは html だけですが、ブログの投稿を目立たせたいと思っています。
私が 5 つのブログ投稿を書いたとしましょう。したがって、Slider は 5 つのブログ投稿を表示する必要があります。
誰かが私を助けてくれることを願っています!
ご挨拶
ニコ
私のブログ投稿を HTML コードの代わりに JCarousel に追加することはできますか? 次のようになります。
=>例
このサイトのコンテンツは html だけですが、ブログの投稿を目立たせたいと思っています。
私が 5 つのブログ投稿を書いたとしましょう。したがって、Slider は 5 つのブログ投稿を表示する必要があります。
誰かが私を助けてくれることを願っています!
ご挨拶
ニコ
ブログ投稿ノードを表示するマクロ (xslt または razor) を作成し、jquery でターゲットにして jcarousel をロードする必要があります。以下は、参照した例のコードを使用してこれを行う剃刀スクリプトの例です。
@using umbraco.MacroEngines
@inherits DynamicNodeContext
@try
{
<script type="text/javascript" src="http://www.fdp-bw.de/jcarousel/lib/jquery-1.2.3.pack.js"></script>
<script type="text/javascript" src="http://www.fdp-bw.de/jcarousel/lib/jquery.jcarousel.pack.js"></script>
<link rel="stylesheet" type="text/css" href="http://www.fdp-bw.de/jcarousel/lib/jquery.jcarousel.css" />
<link rel="stylesheet" type="text/css" href="http://www.fdp-bw.de/jcarousel/skins/tango/skin.css" />
<style type="text/css">
/**
* Additional styles for the controls.
*/
.jcarousel-control {
margin-bottom: 10px;
text-align: center;
}
.jcarousel-control a {
font-size: 75%;
text-decoration: none;
padding: 0 5px;
margin: 0 0 5px 0;
border: 1px solid #fff;
color: #eee;
background-color: #4088b8;
font-weight: bold;
}
.jcarousel-control a:focus,
.jcarousel-control a:active {
outline: none;
}
.jcarousel-scroll {
margin-top: 10px;
text-align: center;
}
.jcarousel-scroll form {
margin: 0;
padding: 0;
}
.jcarousel-scroll select {
font-size: 75%;
}
#mycarousel-next,
#mycarousel-prev {
cursor: pointer;
margin-bottom: -10px;
text-decoration: underline;
font-size: 11px;
}
</style>
<script type="text/javascript">
/**
* We use the initCallback callback
* to assign functionality to the controls
*/
function mycarousel_initCallback(carousel) {
jQuery('.jcarousel-control a').bind('click', function () {
carousel.scroll(jQuery.jcarousel.intval(jQuery(this).text()));
return false;
});
jQuery('.jcarousel-scroll select').bind('change', function () {
carousel.options.scroll = jQuery.jcarousel.intval(this.options[this.selectedIndex].value);
return false;
});
jQuery('#mycarousel-next').bind('click', function () {
carousel.next();
return false;
});
jQuery('#mycarousel-prev').bind('click', function () {
carousel.prev();
return false;
});
};
// Ride the carousel...
jQuery(document).ready(function () {
jQuery("#mycarousel").jcarousel({
scroll: 1,
visible: 1,
auto: 10,
wrap: "last",
initCallback: mycarousel_initCallback,
// This tells jCarousel NOT to autobuild prev/next buttons
buttonNextHTML: null,
buttonPrevHTML: null
});
});
</script>
<div id="mycarousel" class="jcarousel-skin-tango">
<ul>
@foreach (var post in Model.AncestorOrSelf().Descendants("umbBlogPost"))
{
<li>
<h2>@post.Name</h2>
<div>@post.bodyText</div>
</li>
}
</ul>
<div class="jcarousel-control">
@for (int i = 0; i < Model.AncestorOrSelf().Descendants("umbBlogPost").Count(); i++)
{
<a href="#">@(i + 1)</a>
}
</div>
</div>
}
catch (Exception e)
{
<!-- @e.ToString() -->
}
これにより、すべての投稿が表示されます。順序付けとフィルタリングを行ってから、上位 5 つなどを取得したい場合があります。
var posts = Model.AncestorOrSelf().Descendants("umbBlogPost").OrderBy("PostDate desc").Take(5);