搜索结果将单个帖子加载到幻灯片出目录中

时间:2013-02-18 作者:zilj

嗨,这更多的是一个解决方案和建议问题。

我想搜索我的wordpress网站,并以一种非常典型的方式加载搜索结果(无序列表,包含标题、图像和摘录)。

单击每个帖子的标题后,我想将帖子本身直接加载到右侧新面板的div中。

我希望搜索结果的宽度最小化到30%左右,然后在一个新的面板中包含帖子,从右侧以70%的宽度滑入。这将为您提供一个侧面板,以选择其他立柱并加载到新面板中。

我在这里尝试了许多解决方案,ajax、permalink加载和css样式,以摆脱标头和json插件。

我想知道是否有人对如何处理这个问题提出了建议。

NOTE: 我的搜索结果使用无限滚动,加载的帖子有相关帖子插件。我还有一个按钮,可以将div滑回原来的搜索结果视图。它本质上就像是一个预览功能,但你可以提供整个帖子和短代码。

谢谢

1 个回复
最合适的回答,由SO网友:Sunyatasattva 整理而成

由于您需要最佳实践、方法和建议,因此我对您应该如何进行的看法如下:

首先,divide the content of your page in two ideal spaces, 帖子列表和内容。类似这样:

<nav class="post-navigation">
    <ul>
        <li>
            <h2>{Post title}</h2>
            <p>{Excerpt} [&hellip;]</p>
            <p><a href="{post-permalink}">Read more &rarr;</a></p>
        </li>
    </ul>
</nav>
<section class="post-content"></section>
考虑在空间中列出帖子a<ul> 内部a<nav> 元素,尽可能具有语义。

要隐藏.post-content 节,不使用display:none. 当您希望使用滑动效果设置动画时,position it outside of the screen. 已经给它width: 70% 这是你的目标bind a function to the click event 使用jQuery,如下所示:

$(\'nav.post-navigation li a\').click(function(e){
    // Function body
});
将内容按animating the position 您的.post-content and the width 您的nav. The jQuery documentation 应该很清楚这一点。请记住,您希望拦截锚点的正常行为,因此preventDefault()return false, 或者两者兼而有之
  • Get your post content using an AJAX request. 您可以使用href 属性,您可以将其放在readmore链接中以获取正确的内容。你离开的原因href 就是要有一个优雅的回退:如果代码出了问题,如果用户禁用了javascript,或者只是在不支持javascript的浏览器上导航,他仍然可以访问您的内容。此外,想想“dem蜘蛛!”!检查是否成功并将您的内容添加到div.post-content. 例如,您可以使用append() 方法

    您可能需要添加更多的细节,并对现有内容进行优化。首先,我可以提出以下建议:

    1. Make your website look more responsive 通过谨慎使用荷载.gifs

    2. Don\'t double serve content: 检查用户是否正在单击当前显示页面的链接,并且不再获取内容;除了在用户看来很傻之外,它还会造成无用的服务器负载(可能无关紧要,但仍然如此)。不过,请始终考虑您的用户!告诉他,通过巧妙地使用UI,该链接已被禁用。

    3. Manipulate browser history: 使用history API. 你的网站将更容易访问,更人性化,更SEO友好,看起来更先进。

  • 结束

    相关推荐

    JQuery-UI-Datepicker的内置样式

    我想在网站前端使用与WordPress捆绑在一起的日期选择器。我排队了jquery-ui-datepicker 但是datepicker没有样式化(控制台中没有js错误)。是否有相应的wp_enqueue_style 为了这个?我在中使用了此代码functions.phpfunction rr_scripts() { wp_enqueue_script( \'jquery\' ); wp_enqueue_script( \'jquery-ui-datepicker\', array