Slick lightbox verwenden Sie die Bild-Titel als überschrift

Ich bin mit slick lightbox for lightbox. Ich bin mit dieser Bibliothek http://mreq.github.io/slick-lightbox/demo/

<div class="portfolio-slides">
  <div class="single">
    <a href="http://placehold.it/300x300">
      <img src="http://placehold.it/300x300" title="abc1"/>
    </a>
  </div>
  <div class="single">
    <a href="http://placehold.it/300x300/016243" >
      <img src="http://placehold.it/300x300/016243/" title="abc2"/>
    </a>
  </div>
  <div class="single">
    <a href="http://placehold.it/300x300/db990b">
      <img src="http://placehold.it/300x300/db990b" title="abc3"/>
    </a>
  </div>
  <div class="single">
    <a href="http://placehold.it/300x300">
      <img src="http://placehold.it/300x300" />
    </a>
  </div>
</div>
$('.portfolio-slides').slickLightbox({
  itemSelector        : 'a',
  navigateByKeyboard  : true,
  caption: 'caption'
});

Wie kann ich den Bild-Titel als überschrift in slick lightbox?

+2
2019-09-17 14:54:15
Quelle
1 Antworten

Das Feld can_id von struct can_frame enthält die CAN-ID und der EFF/RTR/ERR flags. Die extended-ID und 29 bit, so gibt es 3 gratis bits, die zum darstellen von 3 Flaggen.

Dein Beispiel mit ID 0x01F0A020 muss einen erweiterten Rahmen, aber mit ID 0x7DF gesendet werden können, als Basis-frame oder ein extended frame. Dies sind die verschiedenen Nachrichten. Die Unterscheidung zwischen einem Basis-frame oder ein extended frame mit der gleichen ID, die Sie brauchen, die EFF-flag.

In Ihrem Beispiel sehen Sie den Wert 0x81F0A020 ist die Kombination aus ID 0x01F0A020 und CAN_EFF_FLAG (0x80000000U).

Auszug aus https://github.com/torvalds/linux/blob/master/include/uapi/linux/can.h

/* special address description flags for the CAN_ID */
#define CAN_EFF_FLAG 0x80000000U /* EFF/SFF is set in the MSB */
#define CAN_RTR_FLAG 0x40000000U /* remote transmission request */
#define CAN_ERR_FLAG 0x20000000U /* error message frame */

/* valid bits in CAN ID for frame formats */
#define CAN_SFF_MASK 0x000007FFU /* standard frame format (SFF) */
#define CAN_EFF_MASK 0x1FFFFFFFU /* extended frame format (EFF) */
#define CAN_ERR_MASK 0x1FFFFFFFU /* omit EFF, RTR, ERR flags */

...

/**
 * struct can_frame - basic CAN frame structure
 * @can_id:  CAN ID of the frame and CAN_*_FLAG flags, see canid_t definition
 * @can_dlc: frame payload length in byte (0 .. 8) aka data length code
 *           N.B. the DLC field from ISO 11898-1 Chapter 8.4.2.3 has a 1:1
 *           mapping of the 'data length code' to the real payload length
 * @__pad:   padding
 * @__res0:  reserved / padding
 * @__res1:  reserved / padding
 * @data:    CAN frame payload (up to 8 byte)
 */
struct can_frame {
    canid_t can_id;  /* 32 bit CAN_ID + EFF/RTR/ERR flags */
    __u8    can_dlc; /* frame payload length in byte (0 .. CAN_MAX_DLEN) */
    __u8    __pad;   /* padding */
    __u8    __res0;  /* reserved / padding */
    __u8    __res1;  /* reserved / padding */
    __u8    data[CAN_MAX_DLEN] __attribute__((aligned(8)));
};

Um die ID nur ohne Flaggen haben, sollten Sie CAN_SFF_MASK oder CAN_EFF_MASK in Abhängigkeit vom Wert des CAN_EFF_FLAG-bit.

Beispiel-code:

        //Print the received CAN ID 
        printf("%%X\n", 
               (frame.can_id & CAN_EFF_FLAG) ? (frame.can_id & CAN_EFF_MASK)
                                             : (frame.can_id & CAN_SFF_MASK));
+0
2019-09-17 15:01:08

Sehen Sie sich andere Fragen zu Tags an