Обнаружение отделений, как представлено в окне для реализации подобного Google Reader auto-mark-as-read?

Если поле envelopeData.details.detail имеет тип , вложенный , то вы можете выполнить запрос на совпадение для нужного имени на вложенном пути и использовать inner_hits . ], чтобы получить только значение.

Сопоставить поле envelopeData.details.detail как вложенное (если не вложенное):

PUT stackoverflow
{
  "mappings": {
    "_doc": {
      "properties": {
        "envelopeData.details.detail": {
          "type": "nested" 
        }
      }
    }
  }
}

, затем вы можете выполнить следующий запрос, чтобы получить значение, используя inner_hits [ 1111]:

GET stackoverflow/_search
{
  "_source": "false", 
  "query": {
    "nested": {
      "path": "envelopeData.details.detail",
      "query": {
        "match": {
          "envelopeData.details.detail.name.keyword": "UC_CORP"
        }
      }, 
      "inner_hits": {
        "_source": "envelopeData.details.detail.value"
      }
    }
  }
}

который выводит:

{
  "_index": "stackoverflow",
  "_type": "_doc",
  "_id": "W5GUW2gB3GnGVyg-Sf4T",
  "_score": 0.6931472,
  "_source": {},
  "inner_hits": {
    "envelopeData.details.detail": {
      "hits": {
        "total": 1,
        "max_score": 0.6931472,
        "hits": [
          {
            "_index": "stackoverflow",
            "_type": "_doc",
            "_id": "W5GUW2gB3GnGVyg-Sf4T",
            "_nested": {
              "field": "envelopeData.details.detail",
              "offset": 0
            },
            "_score": 0.6931472,
            "_source": {
              "value": "76483"  -> Outputs value only
            }
          }
        ]
      }
    }
  }
}

11
задан Linger 19 July 2012 в 03:36
поделиться

4 ответа

Реальный прием должен отслеживать то, где полоса прокрутки в своей стихии содержащий Ваши объекты. Вот некоторый код, который я когда-то сделал на скорую руку, чтобы сделать это: http://pastebin.com/f4a329cd9

Вы видите это, поскольку Вы прокручиваете его фокус изменений. Просто необходимо добавить больше кода обработчика к функции, которая обрабатывает каждое изменение фокуса. Это работает, прокручивая и в направлении, и в также путем нажатия прямо на полосу прокрутки, которую простое отслеживание мыши не даст Вам (хотя в этом случае, так как элементы в качестве примера являются всеми одинаковыми размер с тем же текстом, трудно сказать, что это действительно прокрутило). Другая проблема - то, что сделать, когда контейнер достигает нижнего предела. Решение у меня есть прямо сейчас только работы в И следующие. Если Вы хотите иметь его, выглядят хорошими в IE, необходимо будет использовать фиктивный элемент, который смешивается с фоном, как тот, который я прокомментировал в коде.

4
ответ дан 3 December 2019 в 11:21
поделиться

Я просто столкнулся с этим, поскольку мне нужно то же самое, и это выглядит супер полезным:

http://www.appelsiini.net/projects/viewport

2
ответ дан 3 December 2019 в 11:21
поделиться

По моему опыту, Читатель только когда-либо отмечал что-то как чтение, если я имею moused-по или нажал на него. Предположение, что, поскольку Вы прокручиваете свою мышь, по отделению (я склонен помещать свою мышь в правый край экрана, когда я прокручиваю), который мог бы объяснить появление, что это только отделено, когда определенный % показали.

Я мог быть (и вероятно), неправильно, все же. Я просто знаю, что действие просто просмотра моих объектов в читателе не отделяет их. Я должен удостовериться мыши мыши по ним, поскольку это прокручивает, чтобы сделать это.

0
ответ дан 3 December 2019 в 11:21
поделиться

dom и JavaScript позволяют Вам вычислить смещение элемента от его родителя. Для вычисления смещения из окна, необходимо использовать рекурсию и подняться путь к главному окну и также сравнить это с размером окна. Это становится более сложным из-за проблем перекрестного браузера и iframes.

Насколько я знаю прототип предлагает простое viewportOffset метод, который делает большую часть работы для Вас. Можно также проверить источник на getOffsetParent и scrollTo. Я не знаю о jQuery, но я ожидаю, что это предложит похожие методы.

Мое предположение - то, что сценарий в Google Reader просто работает на тайм-ауте, вероятно, несколько раз секунда, или возможно в ответ на событие прокрутки. В обоих случаях я уверен, что это адаптивно (изменения тайм-аута на основе как быстро пользовательские прокрутки, и т.д.), и что достаточно умно не быть пожирателем ресурсов (т.е. только проверьте все отделения в документ),

0
ответ дан 3 December 2019 в 11:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: